自定义 MR1 之 Reducer&Driver | 学习笔记

简介: 快速学习自定义 MR1 之 Reducer&Driver。

开发者学堂课程【分布式数据库 HBase 快速入门:自定义 MR1 之 Reducer&Driver】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/101/detail/1756


自定义 MR1 之 Reducer&Driver

内容介绍

一、FruitReducer.java

二、FruitDriver.java


一、FruitReducer.java:

package org.apache.hadoop.hbase.client;

import ...

@InterfaceAudience.Public

@nterfaceStability.Evolving

public abstract class Mutation extends 0perationWithAttributes implements Row,

Cel1Scannable,

HeapSize {

public static final long MUTATION_OVERHEAD = ClassSize.align(

//This

num: ClassSize.OBJECT+

//row + 0perationWithAttributes.attributes

2* ClassSize.REFERENCE+

// Timestamp

1* Bytes.SIZEOF_LONG +/ / durability

ClassSize.REFERENCE +

package com.atguigu.mr1 ;

import org.apache.hadoop.hbase.client.Put;

import org.apache.hadoop.hbase.io.ImmutableBytesWritable;

import org.apache.hadoop. hbase. mapreduce.TableReducer;

import org.apache.hadoop.io.NullWritable;

import org.apache.hadoop.mapreduce.Reducer;

import java.io.IOException;

public class FruitReducer extends TableReducer {

@0verride

protected void reduce(ImmutableBytesWritable key,Iterable values,Context context)throws IOException,InterruptedException {

//遍历

for (Put value : values){

context.write(NullWritable.get(), value) ;

}

}

}


二、FruitDriver.java:

package com.atguigu.mr1 ;

import org.apache. hadoop.conf.Configuration;import org.apache.hadoop.util.Tool;

public. .class..FruitDriverIextends..Configuration implements .Tool {

@Override

public int run(String[] args) throws Exception {

//获取任务对象

Job job = Job.getInstance(configuration) ;

//指定Driver类

job.setJarByClass(FruitDriver.class) ;

//指定Mapper

TableMapReduceUtil.initTableMapperJob( table: " fruit",

new Scan(),

FruitMapper.class,

ImmutableBytesWritable.class,Put.class,

Put.class,job);

//指定Reducer

TableMapReduceUtil.initTableReducerJob( table:"fruit_mr",

FruitReducer.class,

job);

//提交

boolean b = job.waitForCompletion( verbose: true) ;

return b?0:1;

}

@Override

public void setConf(Configuration conf) {

}

@0verride

public Configuration getConf() {

public static void main(String[] args)throws Exception {

Configuration configuration = HBaseConfiguration. create() ;

int i = ToolRunner. run(configuration,new FruitDriver(),args);

}

}

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
JSON 移动开发 前端开发
Mr_HJ / form-generator项目学习-增加自定义的超融组件(一)
Mr_HJ / form-generator项目学习-增加自定义的超融组件(一)
44 3
|
5月前
|
移动开发 前端开发
Mr_HJ / form-generator项目学习-增加自定义的超融组件(二)
Mr_HJ / form-generator项目学习-增加自定义的超融组件(二)
51 3
|
5月前
|
消息中间件 Java 数据库连接
实时计算 Flink版产品使用合集之将sdkMode从rpc模式改为jdbc模式后,table.exec.mini-batch.enabled参数还生效吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
分布式计算 资源调度 Scala
《Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn》电子版地址
Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn
83 0
《Monitoring the Dynamic Resource Usage of Scala and Python Spark Jobs in Yarn》电子版地址
|
NoSQL Java 大数据
Java 操作 kudu--开发环境搭建&初始化操作 | 学习笔记
快速学习 Java 操作 kudu--开发环境搭建&初始化操作
278 0
Java 操作 kudu--开发环境搭建&初始化操作 | 学习笔记
|
存储
Jmeter 常用函数(5)- 详解 __property
Jmeter 常用函数(5)- 详解 __property
405 0
Jmeter 常用函数(5)- 详解 __property
|
SQL 存储 分布式计算
pache Hive--架构&组件| 学习笔记
快速学习 pache Hive--架构&组件
124 0
pache Hive--架构&组件| 学习笔记
|
SQL 分布式计算 Hadoop
Apache Hive--介绍&Hive 实现思路模拟| 学习笔记
快速学习Apache Hive--介绍&Hive 实现思路模拟
163 0
Apache Hive--介绍&Hive 实现思路模拟| 学习笔记
|
SQL 分布式计算 Kubernetes
spark hive类总是优先记载应用里面的jar包,跟spark.{driver/executor}.userClassPathFirst无关
spark hive类总是优先记载应用里面的jar包,跟spark.{driver/executor}.userClassPathFirst无关
286 0
|
SQL 存储 分布式计算
【spark系列4】spark 3.0.1集成delta 0.7.0原理解析--delta自定义sql
【spark系列4】spark 3.0.1集成delta 0.7.0原理解析--delta自定义sql
286 0