我正在使用以下功能重新对DataFrame进行分区,但是当我查看DataFrame上的分区数时,它并没有显示更新的分区,而是初始的分区。
df.rdd.repartition(100)
df.rdd.partitionBy(100,partitionFunc="HashPartitioner")
df.rdd.getNumPartitions() // Result - 519
应该将分区数显示为100,但给出的是519(初始值)。我有什么遗漏吗(在pyspark shell中运行代码。)
答案 0 :(得分:0)
您应该将重新分区的数据框保存一些值或新的数据框,然后再次检查。
df = spark.createDataFrame([(1, 'test')], ['id', 'value'])
print(df.rdd.getNumPartitions())
# 1
df = df.repartition(10)
print(df.rdd.getNumPartitions())
# 10