赞
踩
hbase除了直接调用put接口将数据进行导入导出外,还提供了命令行工具来直接将特定格式的数据进行导入(或以特定格式将数据导出),
主要是利用org.apache.hadoop.hbase.mapreduce这个包里的接口:importTsv, completebulkload,import,export,
可以执行bin/hbase org.apache.hadoop.hbase.mapreduce.Driver
bin/hbase org.apache.hadoop.hbase.mapreduce.importTsv 等命令查看详细说明。
./hbase org.apache.hadoop.hbase.mapreduce.Driver也可以实现hbase两个表之间的数据互导。
前提:看上面包名即知道,这些方法主要是利用的MR来进行数据导入导出的,因此首先将集群的MR开启。
1 利用ImportTsv将csv格式文本导入hbase表中:
步骤:
a 先在hbase上生成表,如:create 't1','f1'
b 将csv数据上传到hdfs上,数据内容如下:
a,1a,,3a,4a
b,,2b,3b,4b
,1c,2c,3c,4c
c 利用如下命令进行导入:
./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,f1:a,f1:b,f1:c,f1:d t1 hdfs://nnip:9000/f1
如果MR程序正确完成,表示导入成功,否则查看打印出的错误,找出原因。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。