SparkSQL 2.2 增加了 Hint Framework 的支持,允许在查询中加入注释,让查询优化器优化逻辑计划。目前支持的 hint 有三个:COALESCE、REPARTITION、BROADCAST,其中 COALESCE、REPARTITION 这两个是 SparkSQL 2.4 开始支持。
一、COALESCE、REPARTITION 使用
SELECT /*+ COALESCE(2) */ ...
SELECT /*+ REPARTITION(10) */ ...
这两个 hint 是从 SparkSQL 2.4 开始支持
二、BROADCAST 使用
SELECT /*+ MAPJOIN(a) */ ...
SELECT /*+ BROADCASTJOIN(a) */ ...
SELECT /*+ BROADCAST(a) */ ...
该 hint 是从 SparkSQL 2.2 开始支持