博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
074 hbase与mapreduce集成
阅读量:6039 次
发布时间:2019-06-20

本文共 3569 字,大约阅读时间需要 11 分钟。

一:运行给定的案例

1.获取jar包里的方法

  

 

2.运行hbase自带的mapreduce程序

  lib/hbase-server-0.98.6-hadoop2.jar 

 

3.具体运行

  注意命令:mapredcp。

  HADOOP_CLASSPATH是当前运行时需要的环境。

  

 

4.运行一个小方法

  $HADOOP_HOME/bin/yarn jar lib/hbase-server-0.98.6-hadoop2.jar rowcounter nstest1:tb1

  

 

 二:自定义hbase的数据拷贝

1.需求

  将nstest1:tb1的数据info:name列拷贝到nstest1:tb2

 

2.新建tb2表

  

 

3.书写mapreduce程序

  输入:rowkey,result。

1 package com.beifeng.bigdat; 2  3 import java.io.IOException; 4  5 import org.apache.hadoop.conf.Configuration; 6 import org.apache.hadoop.conf.Configured; 7 import org.apache.hadoop.hbase.Cell; 8 import org.apache.hadoop.hbase.CellUtil; 9 import org.apache.hadoop.hbase.HBaseConfiguration;10 import org.apache.hadoop.hbase.client.Put;11 import org.apache.hadoop.hbase.client.Result;12 import org.apache.hadoop.hbase.client.Scan;13 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;14 import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;15 import org.apache.hadoop.hbase.mapreduce.TableMapper;16 import org.apache.hadoop.hbase.mapreduce.TableReducer;17 import org.apache.hadoop.hbase.util.Bytes;18 import org.apache.hadoop.mapreduce.Job;19 import org.apache.hadoop.mapreduce.Mapper.Context;20 import org.apache.hadoop.util.Tool;21 import org.apache.hadoop.util.ToolRunner;22 23 public class HBaseMRTest extends Configured implements Tool{24     /**25      * map26      * @author27      *28      */29     public static class tbMap extends TableMapper
{30 31 @Override32 protected void map(ImmutableBytesWritable key, Result value,Context context) throws IOException, InterruptedException {33 Put put=new Put(key.get());34 for(Cell cell:value.rawCells()){35 if("info".equals(Bytes.toString(CellUtil.cloneFamily(cell)))){36 if("name".equals(Bytes.toString(CellUtil.cloneQualifier(cell)))){37 put.add(cell);38 context.write(key, put);39 }40 }41 }42 }43 44 }45 /**46 * reduce47 * @author48 *49 */50 public static class tbReduce extends TableReducer
{51 52 @Override53 protected void reduce(ImmutableBytesWritable key, Iterable
values,Context context)throws IOException, InterruptedException {54 for(Put put:values){55 context.write(key, put);56 }57 }58 59 }60 61 public int run(String[] args) throws Exception {62 Configuration conf=super.getConf();63 Job job =Job.getInstance(conf, "hbasemr");64 job.setJarByClass(HBaseMRTest.class);65 Scan scan=new Scan();66 TableMapReduceUtil.initTableMapperJob(67 "nstest1:tb1",68 scan,69 tbMap.class,70 ImmutableBytesWritable.class,71 Put.class,72 job);73 TableMapReduceUtil.initTableReducerJob(74 "nstest1:tb2",75 tbReduce.class,76 job);77 boolean issucess=job.waitForCompletion(true);78 return issucess?0:1;79 }80 public static void main(String[] args) throws Exception{81 Configuration conf=HBaseConfiguration.create();82 int status=ToolRunner.run(conf, new HBaseMRTest(), args);83 System.exit(status);84 }85 86 }

 

4.打成jar包

 

5.运行语句

  加上需要的export前提。

   $HADOOP_HOME/bin/yarn jar /etc/opt/datas/HBaseMR.jar com.beifeng.bigdat.HBaseMRTest

 

6.效果

  

 

  

  

 

转载地址:http://qprhx.baihongyu.com/

你可能感兴趣的文章
[Java开发之路](14)反射机制
查看>>
mac gentoo-prefix安装git svn
查看>>
浅尝异步IO
查看>>
C - Train Problem II——(HDU 1023 Catalan 数)
查看>>
Speak loudly
查看>>
iOS-在项目中引入RSA算法
查看>>
[译] 听说你想学 React.js ?
查看>>
gulp压缩合并js与css
查看>>
块级、内联、内联块级
查看>>
Predicate
查看>>
[面试题记录01]实现一个function sum达到一下目的
查看>>
这个季节的忧伤,点到为止
查看>>
mysql通过配置文件进行优化
查看>>
省级网站群建设关注点
查看>>
工作第四天之采集资源
查看>>
innobackupex 在增量的基础上增量备份
查看>>
Windows Server 2012 R2 DirectAccess功能测试(2)App1服务器安装及配置
查看>>
基于清单的启动器的实现
查看>>
外网用户通过citrix打印慢的解决方法
查看>>
STL容器的使用
查看>>