昨晚有同学提到面试中问大表关联怎么调优(100亿 join 50亿,无聚合函数) 前置判断:需要判断两张表关联键是否是1对多、1对1,如果a、b表是多对多还是会倾斜 分析误区:加盐/打散,题目中只是提到将两张表进行关联,因此这里无论是加随机数还是、取模都是无效的(因为关联不到一起) 分析思路: (1)map端减少输入:通过on中过滤及谓词下推可限制关联表数据,例如过滤时间、过滤枚举、限制分区 (2)大key拆解:可以写sql by维度找到热点key分布,可以按照维度(例如一级类目、场景,但要保障相同)进行拆表,分批插入目标表(目标表也可以根据大维度去做二级分区,或者先做一个临时表也行) (3)...