实例1:reduce端
场景:跑日分区表3年历史数据,SQL为日数据 left join 基本信息的结构。
问题:stage-1的reduce跑不动
解决:暴力解决,直接把reduce tasks的数调大
set mapred.reduce.tasks=1000; --可多试几个数值
实例2:map端
场景:统计特定客户的订单汇总指标,SQL的初始结构为:
select
客户姓名, count(订单号) as num, count(if(订单完成天数<10, 订单号, null)) as le10_num
from 客户列表 as t1
left join 客户订单流水表 as t2 on t1.客户编号=t2.客户编号
group by 客户姓名
问题:stage-1的map跑不动
思路:
1、分别统计2张表的大小,发现是小表(几百条数据)关联