如何使用 AWS Glue 在 AWS DynamoDB 上执行 ETL 作业以仅在新数据上获取 S3 中的 csv 文件
How to perform ETL job on AWS DyanmoDB to get csv files in S3 only on new data with AWS Glue
我正在尝试将存储在 DynamoDB table 中的产品评分数据传输到一个 csv 文件,该文件可以由部署在 AWS Sagemaker 上的推荐模型处理。
我正在使用 AWS Glue 将数据转换为 .csv 文件,该文件可以由 ML 模型处理以进行训练,问题是,每次转换整个数据库 table 时,都会创建重复数据并且处理速度慢。
我找到了解决重复数据问题的方法,方法是在执行 ETL 作业之前删除旧的 s3 对象,但感觉就像是临时的
骇人听闻的修复。
我想做的是在 dyanmodb table 中收集新数据。 ETL 作业每天或每周收集新数据,如果在指定时间段内有任何新数据,新数据将添加到 s3 存储桶中并重新训练模型。
如果您只关心新记录而不担心旧记录的更新,
- 您可以在 dynamodb 上启用流 table
- 让 lambda 函数读取它们并将新记录附加到 s3bucket/new/date-file.csv 中的 csv 文件。
- 在每个 ETL 之后,将文件移动到 s3bucket/archive/date-file.csv。
我正在尝试将存储在 DynamoDB table 中的产品评分数据传输到一个 csv 文件,该文件可以由部署在 AWS Sagemaker 上的推荐模型处理。
我正在使用 AWS Glue 将数据转换为 .csv 文件,该文件可以由 ML 模型处理以进行训练,问题是,每次转换整个数据库 table 时,都会创建重复数据并且处理速度慢。
我找到了解决重复数据问题的方法,方法是在执行 ETL 作业之前删除旧的 s3 对象,但感觉就像是临时的 骇人听闻的修复。
我想做的是在 dyanmodb table 中收集新数据。 ETL 作业每天或每周收集新数据,如果在指定时间段内有任何新数据,新数据将添加到 s3 存储桶中并重新训练模型。
如果您只关心新记录而不担心旧记录的更新,
- 您可以在 dynamodb 上启用流 table
- 让 lambda 函数读取它们并将新记录附加到 s3bucket/new/date-file.csv 中的 csv 文件。
- 在每个 ETL 之后,将文件移动到 s3bucket/archive/date-file.csv。