Hive 的两张表关联,使用 MapReduce 怎么实现?

如果其中有一张表为小表,直接使用 map 端 join 的方式(map 端加载小表) 进行聚合。


如果两张都是大表,那么采用联合 key,联合 key 的第一个组成部分是 join on 中的公共字段,第二部分是一个 flag,0 代表表 A,1 代表表 B,由此让Reduce 区分客户信息和订单信息;在 Mapper 中同时处理两张表的信息,将join on 公共字段相同的数据划分到同一个分区中,进而传递到一个 Reduce 中,然后在 Reduce 中实现聚合。


蓝海大脑 京ICP备18017748号-1