hog*_*kun 10 hdfs python-3.x apache-spark parquet
我将 Spark 与 Python 一起使用,所以我需要保存包含 Spark 结果的镶木地板文件
df
.coalesce(1)
.write
.save(save_path, format='parquet', mode='append'))
Run Code Online (Sandbox Code Playgroud)
这是收集数据并以 parquet 格式代码保存到 HDFS
所以我很好奇,如果我运行 Spark 大约 30 个 Parquet 文件,Spark 结果是否只保存一个 Parquet 文件
如果有人知道校长请教我这个代码对于仅保存一个镶木地板文件是否正确。
谢谢
小智 7
Coalesce使用现有分区来最大程度地减少混洗的数据量。
重新分区会创建新分区并进行完全洗牌。合并会产生具有不同数据量的分区(有时分区的大小差异很大),而重新分区会产生大小大致相等的分区。
就操作性能而言,coalesce 更加高效。如果您可能需要相同大小的分区来进行进一步处理,则可以选择重新分区
对于您提供的示例,coalesce()是更好的选项,当您需要设置分区数 = 1 时,coalesce() 确实始终是最佳选项
您的代码是正确的,应该只能生成一个数据文件作为输出
| 归档时间: |
|
| 查看次数: |
24088 次 |
| 最近记录: |