hbase 的importtsv方式简介

环境

hadoop: hadoop-2.7.3

hbase:hbase-0.98.6-hadoop2

1、importtsv简介

        是Hbaset提供的一种工具,可以将HDFS上存储的文件,按照一定的分隔符,将数据直接加载到Hbase的表中,有两种方式一个是,将数据直接 加载进Hbase的表中,一种是先将文件转换成Hfile格式,再通过completebulkload将数据放到对应的表的位置上去。                       

2、importtsv的使用

        1、先将准备好的数据上传到hdfs上,

        2、在hbase上创建对应的表

        3、执行导入

bin/yarn jar /opt/module/apache/hbase-0.98.6-hadoop2/lib/hbase-server-0.98.6-hadoop2.jar importtsv -Dimporttsv.columns=HBase_ROW_KEY,info:name,info:age,info:sex stu_info /HBase-test.tsv

直接按制表符的格式进行加载


importbulkload方式,分两步进行

1、照样先把清洗好的数据,上传到hdfs的目录下 我的事 Hfile/test1

2开始导入

bin/yarn jar /opt/module/apache/hbase-0.98.6-hadoop2/lib/hbase-server-0.98.6-hadoop2.jar importtsv -Dimporttsv.separator=, -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:leader,info.empid,info:hirdate,info:sarlary,info:bouns,info:pid -Dimporttsv.bulk.output=/load_Hfile emp_info /hbase_input/test1


-Dimporttsv.separator 为你要加载文件的分隔符

-Dimporttsv.bulk.output 输出的Hfile的目录

emp_info 表名,这里未指定namespace 就在default下

/hbase_input/test1 存放要加载的文件的目录

3、数据转移   completebulkload

bin/yarn jar /opt/module/apache/hbase-0.98.6-hadoop2/lib/hbase-server-0.98.6-hadoop2.jar completebulkload /load_Hfile emp_info

/load_Hfile  第一步导出的目录

emp_info      第一步建立的表


第一种方式适合,数据量不大的导入,如果数据量过大,容易造成数据丢失,第二种就是可以进行大数据量的文件加载,而且第二部是在HDFS层面的文件移动,对regionserver的压力,也比较小

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值