在Glue中设置purge_s3_path来自动清空并覆写存储桶数据。

0

【以下的问题经过翻译处理】 在 Glue 控制台(Glue 3.0 - python 和 spark),我需要在自动化流程中覆盖 S3 存储桶的数据。我尝试在脚本中使用glueContext.purge_s3_path( "s3://bucket-to-clean-path/", { "retentionPeriod": 1, "manifestFilePath": "s3://bucket-for-manifest-path/" } ) 函数,但该脚本似乎不会在写新的数据之前清理S3存储桶的旧有数据。

我的Glue作业通过创建过程来转换某些数据,并将其写到S3存储桶中,然后将清单文件manifest发送到 QS。这个作业过程会每天执行。目前,所有脚本都按预期工作,只是存储桶中仍然保留了之前运行生成的数据,没有被覆盖删除。

有人知道这是什么原因吗?

编辑:我尝试将保留期更改为一小时,但数据成功生成几小时后,旧有文件仍然没有被删除。如果我删除与清空S3桶无关的脚本,改任务只需要1分钟。

在清单manifest文件中出现了一个成功删除的分区Partition和删除失败的分区Partition,但这些都不是按照设定应该删除的文件。 分区示例:run-1639727067782-part-r-00000

profile picture
专家
已提问 5 个月前6 查看次数
1 回答
0

【以下的回答经过翻译处理】 选项中有两个参数,一个是保留期限,另一个是清单manifest文件。保留期限默认为7天,该清单文件会显示哪些文件已成功删除,哪些文件未能成功删除。可以参考如下链接:https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-glue-context.html

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则