HBase与MapReduce

HBase API操作

MapReduce

通过HBase的相关JavaAPI,我们可以实现伴随HBase操作的MapReduce过程,比如使用MapReduce将数据从本地文件系统导入到HBase的表中,
比如我们从HBase中读取一些原始数据后使用MapReduce做数据分析。

》 1.查看HBase的MapReduce任务的执行使用哪些jar

$ bin/hbase mapredcp

》 2.环境变量的导入
(1)执行环境变量的导入(临时生效,在命令行执行下述操作)

$ export HADOOP_CLASSPATH='${HBASE_HOME}/bin/hbase mapredcp'

(2)永久生效:
并在hadoop-env.sh中配置:(注意:在for循环之后配)
Mapreduce需要读写Hbase中的数据,则Hadoop必须知道Hbase的jar

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/module/hbase/lib/*

同步到其他节点

Mysync /opt/module/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
由于修改了hadoop的配置信息,所以需要重启hadoop,zk,hbase

为了使用使用hbase shell方便,才在hadoop102的/etc/profile中 配置

##HABSE_HOME
export HABSE_HOME=/opt/module/hbase
export PATH=$PATH:$HABSE_HOME/bin

##HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin

##ZK_HOME
export ZK_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin

再使用scp复制到hadoop103,hadoop104

sudo scp  /etc/profile  root@hadoop103:/etc/
sudo scp  /etc/profile  root@hadoop104:/etc/

再在hadoop102,hadoop103,hadoop104上执行

source /etc/profile

运行案例

运行官方的MapReduce任务

案例一:统计Student表中有多少行数据

$ /opt/module/hadoop-2.7.2/bin/yarn jar /opt/module/hbase/lib/hbase-server-1.3.1.jar rowcounter student

运行结果

org.apache.hadoop.hbase.mapreduce.RowCounter$RowCounterMapper$Counters
                ROWS=2

案例二:使用MapReduce将本地数据导入到HBase

1)在本地创建一个tsv格式的文件:fruit.tsv

1001    Apple    Red
1002    Pear    Yellow
1003    Pineapple    Yellow

2)创建HBase表

hbase(main):001:0> create 'fruit','info'

3)在HDFS中创建input_fruit文件夹并上传fruit.tsv文件

$ /opt/module/hadoop-2.7.2/bin/hdfs dfs -mkdir /input_fruit/
$ /opt/module/hadoop-2.7.2/bin/hdfs dfs -put /opt/module/hbase/fruit.tsv /input_fruit/

4)执行MapReduce到HBase的fruit表中

$ /opt/module/hadoop-2.7.2/bin/yarn jar /opt/module/hbase/lib/hbase-server-1.3.1.jar importtsv \
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:color fruit \
hdfs://hadoop102:9000/input_fruit

5)使用scan命令查看导入后的结果

hbase(main):001:0> scan "fruit"
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翁老师的教学团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值