SparkSQL 中的 hint

SparkSQL 2.2 增加了 Hint Framework 的支持,允许在查询中加入注释,让查询优化器优化逻辑计划。目前支持的 hint 有三个:COALESCE、REPARTITION、BROADCAST,其中 COALESCE、REPARTITION 这两个是 SparkSQL 2.4 开始支持。

一、COALESCE、REPARTITION 使用

1
2
3
SELECT /*+ COALESCE(2) */ ...

SELECT /*+ REPARTITION(10) */ ...

这两个 hint 是从 SparkSQL 2.4 开始支持

二、BROADCAST 使用

1
2
3
4
5
SELECT /*+ MAPJOIN(a) */ ...

SELECT /*+ BROADCASTJOIN(a) */ ...

SELECT /*+ BROADCAST(a) */ ...

该 hint 是从 SparkSQL 2.2 开始支持

参考:Hint Framework