学习 Spark 2(十五):Hints
2009 年 12 月 23 日
Spark 2.2 版本之后,提供了 hint 功能,用于标记查询从而提示查询优化器。
语法
SQL 语法说明:
hints: : /*+ hint[, hint, ...] */ hint: : hintName [(expression[, expression, ...])]
可以在 SELECT 语句中的 /*+ ... */
注释中添加 hint。
也可以通过调用 Dataset 的 hint(name: String, parameters: Any*): Dataset[T]
方法,添加 hint。
举:chestnut::
select /*+ broadcast(b) */ ... from a join b ...
等价于
a.join(b.hint("broadcast"))
Hists
广播 Hints
Spark 2.2+ 版本
SELECT /*+ MAPJOIN(b) */ …
SELECT /*+ BROADCASTJOIN(b) */ …
SELECT /*+ BROADCAST(b) */ …
COALESCE 和 REPARTITION Hints
Spark 2.4 版本
SELECT /*+ COALESCE(5) */ …
SELECT /*+ REPARTITION(3) */ …