Hbase之官方Hbase-Mapreduce案例

Hbase是一个非关系型的数据库,可以分布式部署,擅长存储数据,但是不能分析数据,所以通过 HBase 的相关 JavaAPI,我们可以实现伴随HBase 操作的 MapReduce 过程,比如使用MapReduce 将数据从本地文件系统导入到 HBase 的表中,比如我们从 HBase 中读取一些原始数据后使用 MapReduce 做数据分析

Hbase-Mapreduce官方案例(统计有多少行数据)

1.导入环境变量

因为要引用HBase的API,所以要在Hadoop中引入HBase的jar包

 export HBASE_HOME=/opt/package/hadoop
export HBASE_HOME=/opt/package/hbase
export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp`

将其中HADOOP_HOME和HBASE_HOME的目录换成你自己的

2.运行官方的Hbase-Mapreduce案例

bin/yarn jar /opt/package/hbase/lib/hbase-server-0.98.6-cdh5.3.6.jar rowcounter  HBase中的表名

运行结果:

使用Mapreduce将本地数据导入到HBase

1.导入环境变量

如果你刚导入过上边案例中的环境变量,并且当时的窗口没有关闭的话,这里就不用再从新导入环境变量了

2.在本地创建一个tsv格式的文件:test.tsv

1001    zs    blue
1002    ls    yello
1003    ww    red

中间使用tab键隔开

3.在HBase中创建表

create 'ys','info'

4.在HDFS中创建文件夹并上传test.tsv文件

bin/hdfs dfs -mkdir /usr/ys/test
bin/hdfs dfs -put test.tsv /usr/ys/test

5.执行Mapreduce将数据导入到HBase的表中


bin/yarn jar /opt/package/lib/hbase-server-0.98.6-cdh5.3.6.jar importtsv \
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:color ys \
hdfs://cdh0:8020/usr/ys/test

运行结果:

在HBase的shell中查看ys表中是否有数据

猜你喜欢

转载自blog.csdn.net/ys_230014/article/details/82877571