【发布时间】:2016-09-03 11:51:33
【问题描述】:
我想将 spark 数据帧写入 parquet,而不是将其指定为 partitionBy,而是指定为 numPartitions 或每个分区的大小。在 PySpark 中是否有一种简单的方法可以做到这一点?
【问题讨论】:
标签: apache-spark pyspark
我想将 spark 数据帧写入 parquet,而不是将其指定为 partitionBy,而是指定为 numPartitions 或每个分区的大小。在 PySpark 中是否有一种简单的方法可以做到这一点?
【问题讨论】:
标签: apache-spark pyspark
如果您只关心分区数,则该方法与任何其他输出格式完全相同 - 您可以使用给定的分区数重新分区 DataFrame,然后使用 DataFrameWriter:
df.repartition(n).write.parquet(some_path)
【讨论】:
repartition 的成本很高。我尝试了coalesce,但这项工作实际上失败了。 coalesce 中的 numPartition 有什么要求吗? coalesce 应该比 repartition 便宜吗?