HBase导入数据方式之importTSV
前言常见的将数据导入HBase的方式大概有以下几种:a)使用HBase put APIb)使用Bulkload toolc)使用import功能d)从Hive导入本文主要演示使用importTSV的方式将TSV文件导入HBase的表中。1、创建上传TSV文件TSV的全称是 Tab Separated Values File,也就是制表符分隔的文本文件。我们出于演示,可以在本地直接创建一个简单的文件
前言
常见的将数据导入HBase的方式大概有以下几种:
a)使用HBase put API
b)使用Bulkload tool
c)使用import功能
d)从Hive导入
本文主要演示使用importTSV的方式将TSV文件导入HBase的表中。
1、创建上传TSV文件
TSV的全称是 Tab Separated Values File,也就是制表符分隔的文本文件。我们出于演示,可以在本地直接创建一个简单的文件student.tsv
。
10001 zhangsan 35 male beijing 0109876543
10002 lisi 32 male shanghia 0109876563
10003 zhaoliu 35 female hangzhou 01098346543
10004 qianqi 35 male shenzhen 01098732543
分别对应我们的ROWKEY、姓名、年龄、性别、地点、电话
在本地创建好后我们需要上传到HDFS上,首先提前创建一个目录
{HADOOP_HOME}/bin/hdfs dfs -mkdir -p /user/root/hbase/importtsv
上传刚才的文件到指定目录
{HADOOP_HOME}/bin/hdfs dfs -put student.tsv /user/root/habse/importtsv
数据的准备工作完成。
2、在HBase上创建表
进入目录bin/start-hbase.sh
启动HBase,bin/hbase shell
进入命令行,键入命令:
create 'student','info'
其中student
是表名,info
是列簇。
3、执行数据导入
在此之前,请大家保证配置好了hbase与hadoop的集成,如果没有,添加环境变量。
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/*
因为我们执行的import跑的是MapReduce程序,需要hadoop能够找到hbase相应jar包,所以将HBASE下的lib添加进HADOOP_CLASSPATH
完成后启动程序:
${HADOOP_HOME}/bin/yarn jar \
${HBASE_HOME}/lib/hbase-server-0.98.6-cdh5.3.6.jar importtsv \
-Dimporttsv.columns=HBASE_ROW_KEY,\
info:name,info:age,info:sex,info:address,info:phone \
student \
hdfs://hadoop:9000/user/root/hbase/importtsv
最后一行的hdfs地址请大家自行修改成自己的。
观察命令行可以看到MapReduce的job执行完毕,进入yarn web页面
看到SUCCEEDED
最后进入HBase的Shell查看我们原先的空表:
数据导入成功。
更多推荐
所有评论(0)