我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MapReduce on Hbase

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MapReduce on Hbase


org.apache.hadoop.hbase.mapreduce


TableMapper  TableReducer


一个region对应一个map

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.hbase.mapreduce.TableMapper;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Reducer;

public class HbaseMR {

    public class MyMapper extends TableMapper<Text, Text> {

        @Override
        protected void map(ImmutableBytesWritable key, Result value,
                Context context) throws IOException, InterruptedException {
            // key代表rowkey
            Text k = new Text(Bytes.toString(key.get()));
            Text v = new Text(Bytes.toString(value.getValue(
                    "basicinfo".getBytes(), "age".getBytes())));

            context.write(v, k);

        }

    }

    public class MyReducer extends TableReducer<Text, Text, Text> {

        @Override
        protected void reduce(Text key, Iterable<Text> values, Context context)
                throws IOException, InterruptedException {
            Put put = new Put(Bytes.toBytes(key.toString()));
            for (Text value : values) {
                put.add(Bytes.toBytes("f1"), Bytes.toBytes(value.toString()),
                        Bytes.toBytes(value.toString()));
            }
            context.write(null, put);
        }

    }

    public static void main(String[] args) {
        Configuration conf=    HBaseConfiguration.create();
        try {
            Job job=new Job(conf, "mapreduce on hbase");
            job.setJarByClass(HbaseMR.class);
            Scan scan=new Scan();
            scan.setCaching(1000);//
            TableMapReduceUtil.initTableMapperJob("students", scan, MyMapper.class, Text.class, Text.class, job);
            TableMapReduceUtil.initTableReducerJob("student-age",  MyReducer.class,  job);
            job.waitForCompletion(true);
        } catch (Exception e) {
            
            e.printStackTrace();
        }
    }

}


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MapReduce on Hbase

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

hbase如何编写mapreduce

这篇文章主要为大家展示了“hbase如何编写mapreduce”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hbase如何编写mapreduce”这篇文章吧。package com.hbase.
2023-06-02

MapReduce如何读写HBASE

小编给大家分享一下MapReduce如何读写HBASE,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!import java.io.IOException;impo
2023-06-03

HBase的MapReduce集成优势

HBase与MapReduce集成时,展现了显著的优势,主要体现在以下几个方面:并行处理:MapReduce允许数据并行处理,将大规模数据集分成小块,并同时在多个计算节点上执行操作,提高了数据处理速度和效率。容错性:MapReduce具有
HBase的MapReduce集成优势
2024-10-19

去 HBase,Kylin on Parquet 性能表现如何?

Kylin on HBase 方案经过长时间的发展已经比较成熟,但也存在着局限性,因此,Kyligence 推出了 Kylin on Parquet 方案。通过标准数据集测试,与仍采用 Kylin on HBase 方案的 Kylin 3.0 相比,Kylin
去 HBase,Kylin on Parquet 性能表现如何?
2017-11-08

MapReduce工作流程

MapReduce工作流程图流程详解(重点)MapTask待处理的文本通过submit()方法,获取待处理的数据信息,然后根据InputFormat切片方法机制,生成切片方法文件。把切片方法文件和资源配置文件全部提交在资源路径。提交的信息有:Job.split
MapReduce工作流程
2014-07-24

怎么使用MapReduce

这篇文章给大家分享的是有关怎么使用MapReduce的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大数据是使用工具和技术处理大量和复杂数据集合的术语。能够处理大量数据的技术称为MapReduce。何时使用MapR
2023-06-02

Hadoop MapReduce怎么使用

本篇内容介绍了“Hadoop MapReduce怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Apache Hadoop : 是 A
2023-06-19

Hadoop与MapReduce的关系

Hadoop是一个开源的分布式存储和计算框架,而MapReduce是Hadoop框架中的一个编程模型。在Hadoop中,MapReduce是用于处理大规模数据的计算模型,它将作业分成两个阶段:Map阶段和Reduce阶段。MapReduce
Hadoop与MapReduce的关系
2024-02-29

MapReduce的运行原理

本篇内容介绍了“MapReduce的运行原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MapReduce是一种编程模型,用于大规模数据集
2023-06-02

Hadoop中怎么使用MapReduce

在Hadoop中使用MapReduce,一般会按照以下步骤进行:实现Map函数和Reduce函数:首先需要编写Map函数和Reduce函数,Map函数用于将输入数据分割成key/value对,Reduce函数用于对Map函数输出的结果进行汇
Hadoop中怎么使用MapReduce
2024-03-14

用Python来写MapReduce的实

用Python来写分布式的程序。这样速度快。便于调试,更有实际意义。MapReduce适合于对文本文件的处理及数据挖掘用:  在每台机器上:su - hadoopwget http://www.python.org/ftp/python/3
2023-01-31

编程热搜

目录