我有一个df的东西如下
| 文件名|列1|列2|
| - ------|- ------|- ------|
| 文件1|1个|1个|
| 文件1|1个|1个|
| 文件2|第二章|第二章|
| 文件2|第二章|第二章|
我需要将其另存为按文件名分区的parquet..当我使用df.write.partitionBy(“Filename”).mode(“overwrite”).parquet(file_out_location)时,它会创建2个文件夹,文件名= file 1和文件名= file 1,以及内部的许多零件文件
我如何将其保存为单个文件,如文件名=文件1.parquet和文件名=文件2.parquet
1条答案
按热度按时间t9aqgxwy1#
这是可行的:
本质上,您需要根据您打算在
partitionBy()
中使用的相同列对内存中的 Dataframe 进行分区。如果不像上面那样指定row["cnt"]
-它将默认为spark.sql.shuffle.partitions
分区。以上操作将根据分区列为每个分区生成一个文件。
无再分配:
重新分配: