你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
没有找到相关结果
zhanmsl - 就一技术男 2016-01-21 回答
赞同来自: 刘凡
要回复问题请先登录或注册
提问之前先照照镜子。
推荐一份编程学习资源,包含了各类编程语言学习进阶路线图、视频教程、配套书籍文档、数百份面经,各大厂面试真题。编程语言包括:Java、前端、PHP、Python、Linux运维、软件测试、数据解构与算法、C语言、go语言等
微信扫码关注公众号,发送 "编程"获取资源
1 个回复
zhanmsl - 就一技术男 2016-01-21 回答
赞同来自: 刘凡
你可以参照这篇文章: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;
完毕。