谁有方法可以把三千万的hive表中数据导入到hbase中? 指教一下急急急

0
已邀请:
1

zhanmsl - 就一技术男 2016-01-21 回答

hive和hbase数据存储的底层都是HDFS
你可以参照这篇文章:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration ,里面介绍的很清楚
因为你现在已经有了3000W数据的表,那么第一步:
创建一个新的hive表:
CREATE TABLE hbase_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "xyz");
因为hbase的表的列是可动态扩展的,这里只需要指定列簇即可
并且这里是通过HBase内部机制支持:org.apache.hadoop.hive.hbase.HBaseStorageHandler
第二步:
把已有的表数据导入到新创建的hive表
INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM old_hive_table;
 
完毕。
 

 

要回复问题请先登录注册