如何覆盖aws粘合数据?

时间:2018-01-23 12:33:58

标签: scala amazon-web-services amazon-s3 aws-glue

Cosider代码:

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"个文件被添加到旧文件中。有没有办法覆盖总是覆盖路径?

注意

写入数据没有分区。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用火花来覆盖内容。您仍然可以使用Glue方法读取数据,然后将其更改为spark数据框并覆盖文件:

datasink = DynamicFrame.toDF(inputTable)
datasink.write.\
            format("orc").\
            mode("overwrite").\
            save("s3://my_out_path")