试图将多个Amazon DynamoDB表合并为一个表

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

场景:

我有一个JSON格式的半结构化数据集。我将数据集中的3个子集(new_records,upated_records和删除的记录)存储在3个不同的Amazon DynamoDB表中。计划每天截断并加载。

我正在尝试创建映射,以从这些DynamoDB表中获取数据,追加一些元数据列(date_created,date_modified,is_active)并将数据合并到主DynamoDB表中

问题和挑战:

我尝试过AWS Glue-使用Crawler为源表创建了数据目录。我了解AWS Glue不提供在DynamoDB中存储数据的规定,因此我将目标更改为Amazon S3。但是,AWS Glue作业导致在我的Amazon S3存储桶中创建某种形式的数据(镶木地板对象)简化形式。我对PySpark,Pig和Hive的经验有限,因此,如果无法解释清楚,请原谅。

对Google的快速研究提示我使用Amazon Athena或Redshift Spectrum可以读取Amazon S3上可用的镶木对象。

我不确定,但这看起来像是过度杀伤了,不是吗?

我阅读了Amazon Data Pipelines,该文章提供了在不同AWS服务之间快速传输数据的信息。尽管我不确定它是否提供某种机制来创建源和目标之间的映射(以便追加其他列),还是直接将数据从一项服务转储到另一项服务?

任何人都可以暗示一个简单明了的解决方案吗?

amazon-dynamodb aws-glue amazon-athena amazon-data-pipeline amazon-redshift-spectrum
1个回答
0
投票

我不确定您的需求和假设。但是,让我发表我的想法可能会有所帮助!

  1. 您为什么计划进行此迁移?仔细考虑一下。
  2. 从3个表移动到1个表,DynamoDB的表大小应该不是问题,但要考虑读/写单元的容量。
  3. [Athena是一个不错的选择,您将编写SQL来查询数据,将根据为您的查询扫描的数据付费,...但是Athena的查询超时时间为30分钟。 (我认为您可以要求增加,但不确定!)
  4. 我认为值得尝试数据管道。是的,您可以在移动数据的同时对其进行处理。
© www.soinside.com 2019 - 2024. All rights reserved.