考虑一个代码:
val inputTable = glueContext
.getCatalogSource(database = "my_db", tableName = "my_table)
.getDynamicFrame()
glueContext.getSinkWithFormat(
connectionType = "s3",
options = JsonOptions(Map("path" -> "s3://my_out_path")),
format = "orc", transformationContext = ""
).writeDynamicFrame(inputTable)
当我运行此代码两次时,将新的
orc
文件添加到 "s3://my_out_path"
中的旧文件中。有没有办法覆盖始终覆盖路径?注意
写入数据没有分区。
最佳答案
是的,您可以使用 spark 覆盖内容。您仍然可以使用 Glue 方法读取数据,但随后将其更改为 spark 数据框并覆盖文件:
datasink = DynamicFrame.toDF(inputTable)
datasink.write.\
format("orc").\
mode("overwrite").\
save("s3://my_out_path")
关于scala - 如何覆盖 aws 胶中的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48401889/