需求:
在 Map端 将商品信息表中数据根据商品pid合并到订单数据表中
(order表:id、pid、amount;product表:pid、pname)
1. MapJoinDriver类:
获取job,设置jar包的路径(Driver类)
关联mapper(自己所写的类)
设置map输出的KV类型,设置最终输出的KV类型
加载缓存数据(地址),设置reduceTask数量为0
设置输入和输出路径
提交job
2. MapJoinMapper类:
继承 Mapper 类之后对应相应的泛型
先写 setup() 方法(初始化)
获取缓存的文件,并把文件封装到集合 pd.txt getCacheFiles() FileSystem.get()
从流中读取数据 newBufferedReader( new InputStreamReader )
连续读取( StringUtils.isNotEmpty() 导 common 包 )切割、赋值、关流
在写 map() 方法
处理 order.txt 切割,获取pid,获取 订单id 和 订单数量 后封装,写出