spark 3才支持
见 Hints - Spark 3.2.0 Documentation
使用场景:
在类似如下sql在insert时做动态分区,由于a360,b360已经有大量分区,可能会出现大量小文件的情况,会对hdfs namenode产生压力。
with a360{},b360{},c360{} insert overwrite table xxx partition(dayno) select a360 join b360 join c360
优化:
with a360{},b360{},c360{} insert overwrite table xxx partition(dayno) select /*+ COALESCE(10) */ a360 join b360