生而为人

程序员的自我修养

0%

数据倾斜

join

1. 大表join小表

产生原因:

解决方案:

使用mapjoin,spark程序则广播小表

1
/*+ mapjoin(table_aliases) */

2. 某些key数量过大

产生原因:join过程中,某些key数据量大,导致某些节点的处理数据明显多于其他节点。

解决方案:

进行数据拆分,将量大的key单独处理

示例:

数据倾斜优化——某些key过多

聚合