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