Pyspark partitionBy通过功能不重新分区数据帧

时间:2020-08-24 15:32:07

标签: apache-spark pyspark pyspark-dataframes

我正在使用以下功能重新对DataFrame进行分区,但是当我查看DataFrame上的分区数时,它并没有显示更新的分区,而是初始的分区。

df.rdd.repartition(100)
df.rdd.partitionBy(100,partitionFunc="HashPartitioner")
df.rdd.getNumPartitions() // Result - 519

应该将分区数显示为100,但给出的是519(初始值)。我有什么遗漏吗(在pyspark shell中运行代码。)

1 个答案:

答案 0 :(得分:0)

您应该将重新分区的数据框保存一些值或新的数据框,然后再次检查。

df = spark.createDataFrame([(1, 'test')], ['id', 'value'])
print(df.rdd.getNumPartitions())
# 1

df = df.repartition(10)
print(df.rdd.getNumPartitions())
# 10
相关问题