【发布时间】:2020-10-11 19:45:18
【问题描述】:
我正在尝试了解默认设置为 200 的 Spark Sql Shuffle Partitions。 数据如下所示,后面是为这两种情况创建的分区数。
scala> flightData2015.show(3)
+-----------------+-------------------+-----+
|DEST_COUNTRY_NAME|ORIGIN_COUNTRY_NAME|count|
+-----------------+-------------------+-----+
| United States| Romania| 15|
| United States| Croatia| 1|
| United States| Ireland| 344|
+-----------------+-------------------+-----+
scala> println(flightData2015.sort("DEST_COUNTRY_NAME").rdd.getNumPartitions)
104
scala> println(flightData2015.groupBy("DEST_COUNTRY_NAME").count().rdd.getNumPartitions)
200
这两种情况都会导致一个 Shuffle 阶段,这应该会产生 200 个分区(默认值)。有人能解释一下为什么会有区别吗?
【问题讨论】:
标签: scala apache-spark pyspark apache-spark-sql apache-spark-dataset