aut*_*con 5 amazon-s3 apache-spark parquet
使用预先存在的数据集
s3://data/id=1/file.parquet
s3://data/id=2/file.parquet
Run Code Online (Sandbox Code Playgroud)
和传入的数据帧
/data/id=3/
Run Code Online (Sandbox Code Playgroud)
如果传入的数据写入SaveMode.Append
df.write.partitionBy("id").mode(SaveMode.Append).parquet("s3://data/")
如果预先存在的数据集中的任何数据将被复制到创建的临时目录,会怎么样?
我的 Spark 应用程序中有一个非常相似的用例,但我不确定您的问题到底是什么,所以我将尝试一般性地解释。
在写入 id=3 的数据时,您建议的现有数据将保持不变,并且数据将附加到 s3://data/id=3 下的 s3://data/ 中。
使用partitionBy时,路径是基本路径,因此如果您使用覆盖模式,现有文件(s3://data/id=1/ ,s3://data/id=2/)将被删除。
由于这是追加,因此不存在冲突。
您询问了临时目录。如果您的意思是 Hadoop 输出提交者在提交文件之前使用 _temporary 目录来写入文件,那么在写入数据时只有与上次写入相关的文件才会存在,一旦提交,它们就会被删除。
| 归档时间: |
|
| 查看次数: |
6336 次 |
| 最近记录: |