用Hive读取Hbase中的表必须先创建外部表,格式如下:注意要跟原来的表的列相对应。
create external table test1 (key int,gid map<string,string>,sid map<string,string>) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" ="From:,To:") TBLPROPERTIES ("hbase.table.name" = "test1");
过程中出现了如下问题:
1.
前一篇文章中:pair host
拷贝hbase-0.90.4.jar和zookeeper-3.3.2.jar到hive/lib下。
把Hbase.jar拷贝进hive/lib,然后删除原有的Hbase.jar
2.
hive 执行hbase创建表时找不到protobuf
参考:
http://abloz.com/2012/06/15/hive-execution-hbase-create-the-table-can-not-find-protobuf.html
最终成功