ReduceJoin 案例 Reduce| 学习笔记

简介: 快速学习 ReduceJoin 案例 Reduce

开发者学堂课程【Hadoop 分布式计算框架 MapReduc:ReduceJoin 案例Reduce学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/94/detail/1548


ReduceJoin 案例 Reduce

 

代码示例

package com.liun.mr.reducejoin;

 

import java.io.IOException;

import java.lang.reflect.InvocationTargetException;

import java.util.ArrayList;

 

import org.apache.commons.beanutils.BeanUtils;

import org.apache.hadoop.io.NullWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Reducer;

 

public class TableReducer<E> extends Reducer<Text, TableBean, TableBean, NullWritable> {

 

@Override

protected void reduce(Text key, Iterable<TableBean> values, Context context)

throws IOException, InterruptedException {

 

// 存储所有订单集合

ArrayList<TableBean> orderBeans = new ArrayList<>();

// 存储产品信息

TableBean pdBean = new TableBean();

 

for (TableBean tableBean : values) {

 

if ("order".equals(tableBean.getFlag())) {// 订单表

 

TableBean tmpBean = new TableBean();

 

try {

// 拷贝传递过来的每条订单数据到集合中

BeanUtils.copyProperties(tmpBean, tableBean);

 

orderBeans.add(tmpBean);

 

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

} else {// 产品表

try {

// 拷贝传递过来的产品表到内存中

BeanUtils.copyProperties(pdBean, tableBean);

 

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

}

}

 

for (TableBean tableBean : orderBeans) {

tableBean.setPname(pdBean.getPname());

 

// 写出

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

}

}

}


相关文章
|
3月前
|
存储 JSON 缓存
reduce学习
reduce学习
|
流计算
reduce补充二
reduce补充二
46 0
|
前端开发
前端学习案例3-一个关于reduce的问题3
前端学习案例3-一个关于reduce的问题3
55 0
前端学习案例3-一个关于reduce的问题3
|
前端开发
前端学习案例2-一个关于reduce的问题2
前端学习案例2-一个关于reduce的问题2
58 0
前端学习案例2-一个关于reduce的问题2
|
前端开发
前端学习案例1-一个关于reduce的问题
前端学习案例1-一个关于reduce的问题
51 0
前端学习案例1-一个关于reduce的问题
|
前端开发
前端学习案例3-一个关于reduce的问题3
前端学习案例3-一个关于reduce的问题3
83 0
前端学习案例3-一个关于reduce的问题3
|
前端开发
前端学习案例3-reduce问题
前端学习案例3-reduce问题
54 0
前端学习案例3-reduce问题
|
前端开发
前端学习案例2-一个关于reduce的问题2
前端学习案例2-一个关于reduce的问题2
61 0
前端学习案例2-一个关于reduce的问题2
|
前端开发
前端学习案例2-reduce2
前端学习案例2-reduce2
62 0
前端学习案例2-reduce2
|
前端开发
前端学习案例3-reduce3
前端学习案例3-reduce3
62 0
前端学习案例3-reduce3