我正在做unionByName,将3个py spark数据帧组合到一个数据帧中。
df = df_array[0]
df = df.unionByName(df_array[1])
df = df.unionByName(df_array[2])
part_columns = ["part1","part2", "part3","part4"]
df.write.partitionBy(part_columns).mode('append').parquet(file_path)
我希望它将创建一个实木复合地板文件,但正在创建3个实木复合地板文件。 如何创建单个实木复合地板文件?
答案 0 :(得分:0)
您需要使用coalesce
或repartition
来实现。在这种情况下,您可以通过以下方式在每个分区上实现一个文件
df.repartition($"part_columns").write.partitionBy("part_columns").mode(SaveMode.Append).parquet(file_path)