HBase导入数据方式之importTSV

前言

常见的将数据导入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查看我们原先的空表:
在这里插入图片描述
数据导入成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值