使用 Data Pipeline 在 AWS 中进行批处理文件
Posted
技术标签:
【中文标题】使用 Data Pipeline 在 AWS 中进行批处理文件【英文标题】:Batch file processing in AWS using Data Pipeline 【发布时间】:2021-06-18 06:09:27 【问题描述】:我需要读取上传到 s3 存储桶的 csv 批处理文件,加密某些列中的数据并将这些数据保存在 Dynamo DB 表中。在持久化 DynamoDB 表中的每一行时,根据每行中的数据,我需要生成一个 ID 并将其也存储在 DynamoDB 表中。似乎 AWS 数据管道允许创建将 S3 存储桶文件导入 DynanoDB 的作业,但我找不到一种方法来在那里添加自定义逻辑来加密文件中的某些列值并添加自定义逻辑来生成 id上面提到过。
我有什么方法可以使用 AWS Data Pipeline 实现此要求?如果不是,我可以采用 AWS 服务的最佳方法是什么?
【问题讨论】:
【参考方案1】:我们还有一种情况,我们需要从 S3 获取数据并在执行一些转换(业务逻辑)后将其填充到 DynamoDb。
我们也为此流程使用 AWS DataPipeline。
我们首先从 Data Pipeline 触发 EMR 集群,在该集群中我们从 S3 获取数据,然后对其进行转换并填充 DynamoDB(DDB)。您可以在 EMR 集群中包含您需要的所有逻辑。
我们在管道中设置了一个计时器,它每天触发一次 EMR 集群以执行任务。
这也可能产生额外费用。
【讨论】:
以上是关于使用 Data Pipeline 在 AWS 中进行批处理文件的主要内容,如果未能解决你的问题,请参考以下文章
AWS Data Pipeline 无法验证 S3 访问 [权限警告]
AWS:通过使用 amazon-data-pipeline 将数据从 S3 传输到 Redshift 来实现除 COPY 之外的其他功能