MapReduce 操作 HBase

1.HBase与MR关系

  HBase和MapReduce,这两者并没有直接关系,隶属于不同的项目。这里讲到的MapReduce on HBase是指利用HBase表做为MR计算框架的数据输入源或者输出源源,使得能够利用MR的并行计算能力计算HBase的内部数据。

 

2.官方HBase-MapReduce

2.1 查看HBase的MapReduce任务的执行

        $ bin/hbase mapredcp

2.2 执行环境变量的导入

        $ export HBASE_HOME=/opt/module/hbase-1.3.1

        $ export HADOOP_HOME=/opt/module//hadoop-2.7.2

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

2.3 运行官方的MapReduce任务

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

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

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

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

    1001    Apple    Red

    1002    Pear        Yellow

    1003    Pineapple    Yellow

2.4.2 创建HBase表

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

2.4.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 fruit.tsv /input_fruit/

2.4.4 执行MapReduce到HBase的fruit表中

    $ /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

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

 

 

3.自定义HBase-MapReduce1

    目标:将fruit表中的一部分数据,通过MR迁入到fruit_mr表中。

分步实现:

3.1 新建项目后在pom.xml中添加依赖:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>



    <groupId>com.luomk</groupId>

    <artifactId>HBaseMapReduce1</artifactId>

    <version>1.0-SNAPSHOT</version>



    <dependencies>

        <dependency>

     &nbs
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员学习圈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值