API对HBase进行MR操作

目录

1、配置

方法1:

方法2:

2、一些MR操作HBase的官方案例

案例1:统计指定表中的数据数量

案例2:将HDFS中的数据文件写入到HBase中

3、API实现MR操作HBase


1、配置

要对HBase进行MR操作首先需要hadoop需要持有HBase的一些jar包才能连接到HBase

这些需要的jar包我们可以通过在hbase目录下输入:bin/hbase mapredcp查看

有两种方式实现

方法1:

这个方式是临时的,即将之前命令得到的值临时加到环境变量中

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

 若没有配置HBASE_HOME也可临时配置

方法2:

这个方法时将配置代码写到hadoop-env.sh中,使得每次启动hadoop都会执行这个配置代码:

注:要写到HADOOP_CLASSPATH的for循环后

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

2、一些MR操作HBase的官方案例

案例1:统计指定表中的数据数量

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

注hbase-server-1.3.1.jar就是官方案例的jar包

 row=4代表有4个数据

案例2:将HDFS中的数据文件写入到HBase中

先将数据文件上传到HDFS中:

hadoop fs -put fruit.tsv /input/

 在HBase中创建对应的表

执行官方文档MR:

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

其中-Dimpoettsv.columns=HBASE_ROW_KEY指定的是第一列数据为row key

info:name指定的是第二列数据为info列族下的name列

info:color也是如此

且这些值的顺序可以打乱,只要符合你表的数据的分布就行

fruit为表名

我们来看看结果:

3、API实现MR操作HBase

第一个MR代码是实现将HDFS中的数据文件保存到HBase中

第二个MR代码是实现将HBase表中的符合条件的数据提取出保存到另一个表中

若是要读HDFS中的文件则map继承Mapper,若要读取H

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值