借助hive快速导数据到hbase(02)

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

本篇适用于适用于数据量较大的场景。
具体的操作步骤如下:

启动hive,添加需要的jar包

add jar /lib/hive-hbase-handler-2.3.3.jar;
add jar /lib/hbase-protocol-1.1.1.jar;
add jar /lib/hbase-common-1.1.1.jar;
add jar /lib/hbase-client-1.1.1.jar;
add jar /lib/hbase-server-1.1.1.jar;

创建hive表

create table hive_t_info{
appNum string comment '申请号',
amount string comment'缴费金额'
}
STORED AS
INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.hbase.HiveHFileOutputFormat'
TBLPROPERTIES ('hfile.family.path' = '/hdfs/hive_hbase/cf');

注意:
这儿输出格式一定要为:HiveHFileOutputFormat。
/hdfs/hive_hbase/cf是生成的hfile在HDFS上的路径,其中cf为Hbase的family。
可以向hive表中插入数据,然后查看HDFS的该目录下是否有文件

hdfs dfs -ls /hdfs/hive_hbase/cf

通过bulkload导入到hbase
创建对应的hbase表,其中cf为family,应和上一步对应

create 'hbase_t_process','cf'

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

bin/hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles hdfs://maste:port/user/hive-hbase/info/ hbase_t_process

你可能感兴趣的:(借助hive快速导数据到hbase(02))