Created
December 27, 2021 12:41
-
-
Save 1ambda/e61f26708a18b55e2acadb1a27f0758d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Join Hints for broadcast join | |
SELECT /*+ BROADCAST(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; | |
SELECT /*+ BROADCASTJOIN (t1) */ * FROM t1 left JOIN t2 ON t1.key = t2.key; | |
SELECT /*+ MAPJOIN(t2) */ * FROM t1 right JOIN t2 ON t1.key = t2.key; | |
-- Join Hints for shuffle sort merge join | |
SELECT /*+ SHUFFLE_MERGE(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; | |
SELECT /*+ MERGEJOIN(t2) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; | |
SELECT /*+ MERGE(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; | |
-- Join Hints for shuffle hash join | |
SELECT /*+ SHUFFLE_HASH(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; | |
-- Join Hints for shuffle-and-replicate nested loop join | |
SELECT /*+ SHUFFLE_REPLICATE_NL(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; | |
-- When different join strategy hints are specified on both sides of a join, Spark | |
-- prioritizes the BROADCAST hint over the MERGE hint over the SHUFFLE_HASH hint | |
-- over the SHUFFLE_REPLICATE_NL hint. | |
-- Spark will issue Warning in the following example | |
-- org.apache.spark.sql.catalyst.analysis.HintErrorLogger: Hint (strategy=merge) | |
-- is overridden by another hint and will not take effect. | |
SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment