HBase实战 | Hive数据导入云HBase-阿里云开发者社区

开发者社区> 云原生多模数据库Lindorm> 正文

HBase实战 | Hive数据导入云HBase

简介:

网络环境
  1. 专线:用户需要把hbase集群的VPC相关网络信息配置到专线里面,可直通hbase环境

  2. 公有云虚拟机VPC环境:选择和hbase通VPC

  3. 其他:需要开hbase公网

  4. 注意:默认导入hbase数据,依赖的hbase-common、hbase-client、hbase-server、hbase-protocol使用社区的包即可。如果是公网需要使用云hbase发布的相关包


方案一:hive关联hbase表方式

  1. 适用场景:数据量不大4T以下(因为需要走hbase的api导入数据)

  2. 从hbase页面获取zk连接地址,并用下述方式启动hive客户端d2b063460c929005b1ca45c3154f49e61cfedccf
  1. hbase表不存在的情况

  • 创建hive表hive_hbase_table映射hbase表base_table,会自动创建hbase表hbase_table,且会随着hive表删除而删除。这里需要指定hive的schema到hbase schema的映射关系。关于类型可参考Hive/HBaseIntegration

2d0da347a119a991ea4843b50be95580fa61e82f
  • 创建一张原始的hive表,准备一些数据
04c0746a6161a4a1e245b44ec67b345236adcad6

  • 把hive原表hive_data中数据,通过hive表hive_hbase_table导入到hbase的表hbase_table中


76c87d89f97f6a15cdee03f09f8ffc5c70b35891
  • 查看hbase表hbase_table中是否有数据
 6551c51c0c442760bfdb3b2115f654ac227a21a4


  1. hbase表存在的情况

  • 创建hive的外表关联hbase表,注意hive schema到hbase schema的映射关系。删除外表不会删除对应hbase表

c19a0939e80e3e4d89e105c4db6377bd915eb173
  • 其他导入数据相关同2


方案二:hive表生成hfile,通过bulkload导入到hbase

  1. 适用场景:数据量大(4T以上)

  2. 把hive数据转换为hfile

  • 启动hive并添加相关hbase的jar包

314f03a7bba96f55b114743b63688b18cdc65d65

  • 创建一个outputformat为HiveHFileOutputFormat的hive表

  • 其中/tmp/hbase_table_hfile/cf_0是hfile保存到hdfs的路径,cf_0是hbase family的名字
04684c4f20365f2702126d2afe48a25625303873

  •  把原始数据表的数据通过hbase_hfile_table表保存为hfile
d3940bfaf78316e8f1325037ea5fd4059a86be4a

  • 查看对应hdfs路径是否生成了hfile
1547583df02b0d0ba42725f9f0ad958b65e4532d
  1. 通过bulkload将数据导入到hbase表中

  • 使用阿里云hbase客户端创建具有上面对应family的hbase表

c7763526bc11dc7da2590b5a742831f99d9e763b

  • 下载云hbase客户端,配置hbase-site.xml,并将hdfs-site.xml、core-site.xml拷贝到hbase/conf目录
c4c53c582ce9637882c91e8dfbb9b6fc19b5337b
  • 执行bulkload导入到hbase表中
  • 387e39e32eb7b47d49468a57f47f8bd0854d1c50
  • 在hbase表hbase_hfile_load_table查看数据是否导入
d3f2f0da5b6761a64c7049db7719525a2c492a0c
大家工作学习遇到HBase技术问题,把问题发布到HBase技术社区论坛http://hbase.group,欢迎大家论坛上面提问留言讨论。想了解更多HBase技术关注HBase技术社区公众号(微信号:hbasegroup),非常欢迎大家积极投稿。

8f0bea83ed2c6fdd73e7c1735f6e3ba308136350


HBase技术交流社区 - 阿里官方“HBase生态+Spark社区大群”点击加入:https://dwz.cn/Fvqv066s

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生多模数据库Lindorm
使用钉钉扫一扫加入圈子
+ 订阅

Lindorm是适用于任何规模、多种类型的云原生数据库服务,支持海量数据的低成本存储处理和弹性按需付费,兼容HBase、Solr、SQL、OpenTSDB等多种开源标准接口,是互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景首选数据库,也是为阿里巴巴核心业务提供支撑的数据库之一。

官方博客
链接