Apache spark 合并(10)。在S3中写入1个文件
我们正在运行以下代码将表写入S3:Apache spark 合并(10)。在S3中写入1个文件,apache-spark,pyspark,Apache Spark,Pyspark,我们正在运行以下代码将表写入S3: dataframe.coalesce(10).write.mode("overwrite").parquet(destination_path) 当我检查S3时,它只有一个拼花文件。如何将其写入10个文件?如果要增加分区数,请使用重新分区。合并只会减少数量 dataframe.repartition(10).write.mode("overwrite").parquet(destination_path) 如果要增加
dataframe.coalesce(10).write.mode("overwrite").parquet(destination_path)
当我检查S3时,它只有一个拼花文件。如何将其写入10个文件?如果要增加分区数,请使用重新分区。合并只会减少数量
dataframe.repartition(10).write.mode("overwrite").parquet(destination_path)
如果要增加分区数,请使用重新分区。合并只会减少数量
dataframe.repartition(10).write.mode("overwrite").parquet(destination_path)
如果我已经有超过10个分区怎么办?
重新分区
可以增加或减少分区的数量coalesce
只适用于减少,但它比repartition
更有效当我查看查询计划时,我看到Scan JDBCRelation(FilePageMetadata)[numPartitions=150]
coalesce(10)不应该将其拆分为10个文件吗?该数字只有在读取数据后才是真的。在数据帧上进行操作后,您可能会得到更少的分区。如果已经有10个以上的分区,该怎么办?重新分区
可以增加或减少分区的数量coalesce
只适用于减少,但它比repartition
更有效当我查看查询计划时,我看到Scan JDBCRelation(FilePageMetadata)[numPartitions=150]
coalesce(10)不应该将其拆分为10个文件吗?该数字只有在读取数据后才是真的。在数据帧上操作之后,您可能会得到更少的分区