Hive 数据导入 HBase

Hive 数据导入 HBase,第1张

https://segmentfault.com/a/1190000011616473

一、Hive 跑批

1.建表

默认第一个字段会作为hbase的rowkey。

2.导入数据

将userid插入到列key,作为hbase表的rowkey。

二、生成中间的HFile

-Dimporttsv.bulk.output : HFile输出目录

-Dimporttsv.columns:HBase表中的列簇、列名称,注意顺序与Hive表一致。

binlog_ns:hbase_hfile_load_table :binlog_ns 名称空间下的hbase_hfile_load_table表

hdfs://namespace1/apps/hive/warehouse/original_tmp_db.db/hbase_hfile_table : 是Hive 表original_tmp_db.hbase_hfile_table的数据路径

ImportTsv 会去读取 Hive表数据目录中的文件,并分析 hbase table 的region 分布, 生成对应region的hfile, 放到 -Dimporttsv.bulk.output目录下

三、通过bulkload 加载HFile到HBase表

读取HFile目录下文件,加载到HBase表中

上一篇咱们讲了通过hive映射为hbase表导数据,这儿我么再讲一下通过hive,使用hbase原生jar生成hfile再bulkload到hbase,可以做到hive解偶

本篇适用于适用于数据量较大的场景。

具体的 *** 作步骤如下:

启动hive,添加需要的jar包

创建hive表

注意:

这儿输出格式一定要为:HiveHFileOutputFormat。

/hdfs/hive_hbase/cf是生成的hfile在HDFS上的路径,其中cf为Hbase的family。

可以向hive表中插入数据,然后查看HDFS的该目录下是否有文件

通过bulkload导入到hbase

创建对应的hbase表,其中cf为family,应和上一步对应

执行bulkhead,将数据导入到hbase中


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9959269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存