importtsv工具导入文本文件到Hbase

       importtsv是从tsv文件直接加载内容到HBase的一个HBase内置工具,通过运行MR Job,将数据从TSV文件直接写入HBase的表或写入一个HBase的自由格式数据文件(HFile)。

       使用awk工具对原始文件作处理,添加rowkey字段。将第一个字段和第二个字段拼接作为rowkey。

命令:  

 awk  -F  ','  '{print $1"_"$2","$0}'  /home/tab1.txt > /home/tab2.txt

            awk工具使用,可参考https://www.cnblogs.com/lzeffort/p/7242762.html;

            https://www.cnblogs.com/chengmo/archive/2010/10/08/1845913.html

然后,将tab2.txt文件上传到hdfs上;在HBase中创建tab2表,create  table  'tab2','cf1'。

直接导入数据到hbase表中:

hbase  org.apache.hadoop.hbase.mapreduce.ImportTsv  \

-Dimporttsv.separator=","  \    #(不指定,默认是\t分割)

-Dimportttsv.columns=HBASE_ROW_KEY,cf1:name,cf1:gender  \     

tab2  \    #表名

/lcl/tab2.txt     #hdfs路径

 

还有一种方式是先生成HFile文件:

hbase  org.apache.hadoop.hbase.mapreduce.ImportTsv   \

-Dimporttsv.separator=","   \

-Dimporttsv.bulk.output=/lcl/output   \       #hdfs路径,可以事先不存在

-Dimporttsv.columns=HBASE_ROW_KEY,cf1:name,cf1:gender  \

tab2   \

/lcl/tab2.txt

然后,完成bulk加载到表tab2中:(completebulkload)

hbase  org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles    \

/lcl/output    \

tab2 

最后登陆hbase shell 查看,scan  'tab2'。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值