HBase数据导入----improttsv

来源:互联网 发布:数控编程工资多少一月 编辑:程序博客网 时间:2024/05/21 08:29

需求:将HDFS中的每行以tab分隔的测试数据,使用importtsv导入到HBase的表中、

在HBase中创建一个表:

create 'student','info'

准备的数据

1001zhangsan35malebeijing0108766231002lisi31malehangzhou0108762231003zhaoliu23femaleshanghai0108746231004qianqi31maletaiyuan0102376623


跑HBase的mapreduce需要添加一个HADOOP_CLASSPATH,可以采用以下方式运行

export HBASE_HOME=/opt/cdh-5.5.0/hbase-1.0.0-cdh5.5.0export HADOOP_HOME=/opt/cdh-5.5.0/hadoop-2.6.0-cdh5.5.0HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp` $HADOOP_HOME/bin/hadoop jar ${HBASE_HOME}lib/hbase-server-1.0.0-cdh5.5.0.jar

如果嫌麻烦,可以将两个export加入到环境变量profile文件中并生效,然后直接使用最后一句命令

${HBASE_HOME}lib/hbase-server-1.0.0-cdh5.5.0.jar这个hbase下的包中提供了很多功能,如下

  CellCounter: Count cells in HBase table  completebulkload: Complete a bulk data load.  copytable: Export a table from local cluster to peer cluster  export: Write table data to HDFS.  import: Import data written by Export.  importtsv: Import data in TSV format.  rowcounter: Count rows in HBase table
我们可以使用importtsv来导入以TAB为分隔符格式的数据,如下

将位于hdfs://BPF:9000/user/bpf/hbase/importTSV下的student.tsv数据导入到HBase的student表中

HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp`:${HBASE_HOME}/conf $HADOOP_HOME/bin/yarn jar ${HBASE_HOME}/lib/hbase-server-1.0.0-cdh5.5.0.jar importtsv -Dimporttsv.columns='HBASE_ROW_KEY,info:name,info:age,info:sex,info:address,info:phone' student hdfs://BPF:9000/user/bpf/hbase/importTSV

查看student表,观察数据

scan 'student'





原创粉丝点击