HBase(7):hbase与MapReduce集成

一、实现功能

1、从hbase里读数据

将hbase里的数据作为map的输入

2、将数据写入hbase

将hbase作为reduce的输出

3、从hbase里读数据,再写入hbase

数据迁移,比如有张表:tb01有20列数据,将其中的10列数据读出来,写入另一张表tb02

二、集成步骤

1.hadoop的添加缺少hbase相关jar包

(1)方法一:可以在hadoop的运行环境中添加HADOOP_CLASSPATH的相关依赖路径

修改hadoop-env.sh文件

# Extra Java CLASSPATH elements.  Automatically insert capacity-scheduler.
for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do
  if [ "$HADOOP_CLASSPATH" ]; then
	export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
  else
	export HADOOP_CLASSPATH=$f
  fi
done
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/modules/hbase-1.2.0-cdh5.7.0/lib/*

(2)方法二:可以在系统中的环境变量中去添加HADOOP_CLASSPATH的相关依赖路径

修改配置文件

vi /etc/profile

export HBASE_HOME=/opt/modules/hbase-1.2.0-cdh5.7.0
export HADOOP_HOME=/opt/modules/hadoop-2.6.0-cdh5.7.0
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/modules/hbase-1.2.0-cdh5.7.0

刷新配置文件

source /etc/profile

三、测试

1.开启resourcemanager和nodemanager和history服务

-》resourcemanager
sbin/yarn-daemon.sh start resourcemanager
-》nodemanager
sbin/yarn-daemon.sh start nodemanager
-》history
sbin/mr-jobhistory-daemon.sh start historyserver	

2.运行rowcounter

bin/yarn jar /opt/modules/hbase-1.2.0-cdh5.7.0/lib/hbase-server-1.2.0-cdh5.7.0.jar rowcounter hadoop22:actor

结果:

 ROWS=1

猜你喜欢

转载自blog.csdn.net/u010886217/article/details/84677398