我对sparksql还不熟悉。我在什么地方读到关于使用 REPARTITION()
在加入sparksql查询以获得更好的性能之前。
但是,我使用的是纯sparksql查询(不是pysparksql),我正在努力找出 REPARTITION
在这种简单的查询中,如下面的示例所示。
/* how to use repartition() here ? */
select t1.id, t2.name
from table1 t1
inner join table2 t2
on t1.id = t2.id;
有人能分享一下在上面的示例查询中使用的用法和语法吗?另外,我想了解在哪些场景中应该使用重新分区来获得更好的连接性能。
谢谢。
1条答案
按热度按时间apeeds0o1#
根据spark-24940
Spark-2.4
你可以用repartition,coalesce
sql中的提示。Example:
```sample dataframe has 12 partitions
spark.sql(" select * from tmp").rdd.getNumPartitions()
12
after repartition has 5 partitions
spark.sql(" select /*+ REPARTITION(5) */ * from tmp").rdd.getNumPartitions()
5