如何为hbase创建外部表

Inf*_*ity 3 hbase hive

我能够在HBase的hive中创建外部表,现在我需要创建一个具有可变列的外部表,这意味着HBase中的列不是针对特定表固定的,没有列,可以创建在数据插入时动态地,处理这种情况的方法应该是什么.

摘要:如果在HBase表中没有修复列的数量,如何在配置单元中创建外部表.

提前致谢.

小智 6

  1. 在Hbase shell中创建表

    create 'hbase_2_hive_names', 'id', 'name', 'age'

  2. 将数据加载到Hbase(输入文件必须是HDFS)

    export HADOOP_CLASSPATH=$(/usr/local/hbase/bin/hbase classpath);$HADOOP_HOME/bin/hadoop jar /usr/local/hbase/hbase-0.94.1.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY,id:id,name:fn,name:ln,age:age hbase_2_hive_names /var/data/samples/names.tsv

  3. 在Hive shell中创建外部表

    CREATE EXTERNAL TABLE hbase_hive_names(hbid INT, id INT, fn STRING, ln STRING, age INT) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,id:id,name:fn,name:ln,age:age") TBLPROPERTIES("hbase.table.name" = "hbase_2_hive_names");