Hbae批量装载(Bulk Loading)

什么是bulk load

HBase 有好几种方法将数据装载到表。最直接的方式即可以通过MapReduce任务,也可以通过普通客户端API。但是这都不是高效方法。
批量装载特性采用 MapReduce 任务,将表数据输出为HBase的内部数据格式,然后可以将产生的存储文件直接装载到运行的集群中。批量装载比简单使用 HBase API 消耗更少的CPU和网络资源。

使用BULKLoad加载海量数据样例,操作步骤如下

  • 第1步:建立student.tsv文件。

  • 第2步:编辑student.tsv文件,添加以下内容,并保存。

  • 第3步:创建一个目录
    image.png

  • 第4步:上传文件

  • 第5步:导入Hfile(1-4都是通过MapReduce 任务准备数据)

export HBASE_HOME=/opt/sofewares/hbase/hbase-0.98.6-hadoop2
export HADOOP_HOME=/opt/cdh5.3.6/hadoop-2.5.0-cdh5.3.6
 HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp` ${HADOOP_HOME}/bin/hadoop jar $HBASE_HOME/lib/hbase-server-0.98.6-hadoop2.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:age,info:sex,info:address,info:phone -Dimporttsv.bulk.output=hdfs://hadoop-senior.beifeng.com:8020/user/beifeng/hbase/hfileoutput student2 hdfs://hadoop-senior.beifeng.com:8020/user/beifeng/hbase/importtsv
  • 第6步:使用BulkLoad命令 completebulkload 完成Hfile数据装载
 HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp` ${HADOOP_HOME}/bin/hadoop jar $HBASE_HOME/lib/hbase-server-0.98.6-hadoop2.jar completebulkload hdfs://hadoop-senior.beifeng.com:8020/user/beifeng/hbase/hfileoutput student2 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值