我有一个ETL作业,每天运行,使用书签,并将增量写入一些输出s3存储桶。输出存储桶由一键分区。
现在,我希望每个分区只有一个文件。我可以在第一次工作中实现以下目标:
datasource = datasource.repartition(1)
glueContext.write_dynamic_frame.from_options(
connection_type = "s3",
frame = datasource,
connection_options = {"path":output_path, "partitionKeys": ["a_key"]},
format = "glueparquet",format_options={"compression":"gzip"},
transformation_ctx = "write_dynamic_frame")
我不知道如何使用输出存储区/分区中已经存在的文件来编写和压缩增量。 一种选择是从前一天开始读取表格,然后将其与增量合并,但这似乎有些矫kill过正。
有更聪明的主意吗?
答案 0 :(得分:0)
我遇到了同样的问题,发现压缩设置位于connection_options中:
connection_options = {"path": file_path, "compression": "gzip", "partitionKeys": ["a_key"]}