From 8a33c20679c610e9d5f798ef23a1a572065c0f9e Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Thu, 6 Feb 2014 10:10:08 -0700 Subject: [PATCH] HIVE-6356 Dependency injection in hbase storage handler is broken (addendum) --- .../org/apache/hadoop/hive/hbase/HBaseStorageHandler.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java b/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java index 8cd594b..3b0eb02 100644 --- a/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java +++ b/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseStorageHandler.java @@ -32,10 +32,10 @@ import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.mapred.TableOutputFormat; -import org.apache.hadoop.hbase.mapred.TableMapReduceUtil; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hive.hbase.HBaseSerDe.ColumnMapping; @@ -152,16 +152,14 @@ public void preCreateTable(Table tbl) throws MetaException { String tableName = getHBaseTableName(tbl); Map serdeParam = tbl.getSd().getSerdeInfo().getParameters(); String hbaseColumnsMapping = serdeParam.get(HBaseSerDe.HBASE_COLUMNS_MAPPING); - List columnsMapping = HBaseSerDe.parseColumnsMapping(hbaseColumnsMapping); - HTableDescriptor tableDesc; if (!getHBaseAdmin().tableExists(tableName)) { // if it is not an external table then create one if (!isExternal) { // Create the column descriptors - tableDesc = new HTableDescriptor(tableName); + tableDesc = new HTableDescriptor(TableName.valueOf(tableName)); Set uniqueColumnFamilies = new HashSet(); for (ColumnMapping colMap : columnsMapping) { @@ -376,9 +374,11 @@ private void addHBaseDelegationToken(Configuration conf) throws IOException { @Override public void configureJobConf(TableDesc tableDesc, JobConf jobConf) { try { - TableMapReduceUtil.addDependencyJars(jobConf); + // allow HBase to determine it's own dependencies + org.apache.hadoop.hbase.mapred.TableMapReduceUtil.addDependencyJars(jobConf); + // add the storage handler org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(jobConf, - HBaseStorageHandler.class, org.apache.hadoop.hbase.HBaseConfiguration.class); + HBaseStorageHandler.class); } catch (IOException e) { throw new RuntimeException(e); } -- 1.8.5.1