需求:
订单表和商品表合到一起
order.txt(订单id, 日期, 商品编号, 数量)
1001 20150710 P0001 2
1002 20150710 P0001 3
1002 20150710 P0002 3
1003 20150710 P0003 3
product.txt(商品编号, 商品名字, 价格)
P0001 小米5 1001
P0002 锤子T1 1000
P0003 锤子 1002
这种如果在mysql中,就是一个Join的查询,那MR如果实现呢?
第一种在Reducer中实现补操作:
这种如果在mysql中,就是一个Join的查询,那MR如果实现呢?
第一种在Reducer中实现补操作:
package com.demo.join.one;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.FileSplit;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
/**
* @Description: 一种方式的Join查询组合实现 Reducer端实现
* @author: songqinghu
* @date: 2017年8月30日 下午2:41:09