当AWS胶粘ETL作业中的glugContext.write_dynamic_frame.from_jdbc_conf返回错误时会发生什么?

问题描述 投票:0回答:2

假设我已经从s3存储桶中对文件进行了分类,并且由于主键冲突或其他原因而在将记录插入RDS时发生错误,我的ETL作业将停止处理吗?

我怎么知道发生了错误?如果需要,我将如何重新处理这些记录?我怎么知道处理哪些文件的数据?

amazon-web-services etl aws-glue aws-glue-data-catalog
2个回答
0
投票

如果您将df写入RDS并发生任何错误,则所有记录将被回滚,并且不会将任何数据写入您的表,并且您将在控制台上收到该错误。


0
投票

AWS Glue具有Job Bookmarks的概念,它基于s3中源存储桶中文件的时间戳帮助跟踪已处理的记录。仅处理新文件。在工作中,请确保您具有transformation-ctx,并且在工作结束时,还请确保您具有transformation-ctx。这些在我上面共享的链接中也有详细记录。通过将作业书签倒退到任何先前的作业运行,可以更好地支持数据回填方案,从而使后续作业运行仅对已添加书签的作业运行重新处理数据。

在ETL中,我的建议是为每次写入添加一些时间戳列。例如添加job.commit()。例如,这将帮助您轻松倒回书签并删除与部分失败的插入匹配的记录。

© www.soinside.com 2019 - 2024. All rights reserved.