amazon-web-services - 在 Parquet 文件中将数据流式传输到 S3 时 DynamoDB 的删除和更新

标签 amazon-web-services streaming parquet amazon-kinesis-firehose

我们创建了一个快速的概念验证,以将 DynamoDB 表中的更改流式传输到 Lambda 函数。此函数执行一些基本的 ETL 处理并将记录放在 Firehose 上。这个 Firehose 将 Parquet 文件写入 S3,用于一些 Athena 查询。这对于插入非常有效且容易,但我想知道是否有处理删除或更新的提示或最佳实践。

我依稀记得在过去的一个 session 上,有人运行批处理作业来压缩数据并删除标记的数据,但我找不到这方面的任何细节。更改数据捕获是另一个术语,但我还没有看到这方面的明确示例。有没有一种方法可以处理此流式传输设置中的更新?

更新:我的问题措辞可能不太好,因为很多重点都放在了 S3 上。我真的在寻找一种流程来处理 DynamoDB 流中传入的删除和更新,将它们保存在某个地方,然后定期更新 Parquet 文件以反射(reflect)这些更新和删除。也许还需要一些压实,但在我的实验的这个阶段“很高兴”。

最佳答案

根据我对您的问题的理解,您想要处理 s3 上的文件,因此我建议您使用 AWS Glue。您可以根据自己的要求创造就业机会。

如果您使用 Amazon S3 存储桶作为数据源,AWS Glue Studio 会从其中一个文件或使用您指定的文件作为示例文件来检测指定位置的数据架构。

请引用:https://docs.aws.amazon.com/glue/latest/ug/edit-jobs-source-s3-files.html

另请参阅:https://aws.amazon.com/blogs/database/simplify-amazon-dynamodb-data-extraction-and-analysis-by-using-aws-glue-and-amazon-athena/

关于amazon-web-services - 在 Parquet 文件中将数据流式传输到 S3 时 DynamoDB 的删除和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68206378/

相关文章:

amazon-web-services - AWS Kubernetes 中缺少 NVMe SSD

wordpress - AWS ECS fargate 容器中托管的 wordpress 站点中的 HTTPS 错误 [已解决]

apache-spark - Spark 流

python - ffmpeg - 轮询文件夹中的文件,并使用 rtp 作为视频流

apache-spark - Spark DataFrame 重新分区和 Parquet 分区

python - 在 python2 boto 中使用 aws 配置文件

php - 亚马逊AWS中的任务/队列管理

swift - 在 swift cocoa 中将 m3u8 视频保存到磁盘

java - 如何使用纯Java(包括日期和小数类型)生成Parquet文件并将其上传到S3 [Windows](无HDFS)

apache-spark - 读取过去 2 小时在 Pyspark 中创建的 parquet 文件