【问题标题】:How to find number of partitions in a DataFrame using Python in spark And how to create Partitions in a DataFrame with Python in spark如何在 Spark 中使用 Python 查找 DataFrame 中的分区数以及如何在 Spark 中使用 Python 在 DataFrame 中创建分区
【发布时间】:2021-08-20 13:09:09
【问题描述】:
我有一个名为 df 的 DataFrame,我想知道当我们将数据读入 DataFrame 时我可以创建分区
与
我还想了解如何找到 DataFrame 中的分区数。
我搜索了多个答案,显示以下内容
df.rdd.getNumPartitions() 但默认情况下它只返回 1。
我尝试coalese() 和repartition 来更改分区数。
请帮忙
【问题讨论】:
标签:
python
apache-spark
pyspark
【解决方案1】:
使用 DataFrameReader 将任何文件作为数据帧读取时,我们没有指定分区数量的选项。 Here 您可以阅读有关在读取时创建的默认分区数,或者在将文件读取为 RDD 时更改分区。
使用 repartition() 可以增加/减少分区数,但使用 coalesce 可以减少分区数。
您可能错过了将重新分区的数据帧重新分配给变量,这就是显示前一个分区的原因。
df = spark.read.csv('file.csv')
df = df.repartition(10) # reassign to any variable. dataframes are immutable
# Now check number of partitions
df.rdd.getNumPartitions()