hadoop组件---hbase--使用importtsv和Bulk load导入hbase的shell脚本

1、将数据文件放到hdfs

数据文件 /tmp/user.txt

hadoop fs -mkdir -p /tmp/input/user
hadoop fs -copyFromLocal  /tmp/user.txt  /tmp/input/user
或
hadoop fs -put /tmp/user.txt  /tmp/input/user

 

2、使用importtsv将数据文件转化为HFile文件

将需要导入habse的数据转化为hbase的HFile文件

选项:

-Dimporttsv.separator=','                                 表示HDFS数据各列之间使用“,”作为分隔符

-Dimporttsv.bulk.output=/hadoop/output/user 表示生成HFile文件

-Dimporttsv.columns=HBASE_ROW_KEY,info:age,info:sex   user  /tmp/input/user 

表示将源HDFS数据拆分为HBASE_ROW_KEY,info:age,info:sex这四列,user表示插入到HBase的目标表, /tmp/input/user表示数据在HDFS上的路径。 

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.bulk.output=/tmp/output/user  -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY,info:age,info:sex user /tmp/input/user

注意检查HFile文件是否挂载成功

hadoop fs -ls /tmp/output/user/

 

3、将HFile注册到hbase中

指定HFile文件路径和hbase的表名称进行导入数据到habse的user表中

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /tmp/output/user user

4、删除hdfs中间文件

haddop fs -rm -r /tmp/input/user

haddop fs -rm -r /tmp/output/user

 

posted @ 2020-06-24 11:06  W&L  阅读(445)  评论(0)    收藏  举报