amazon-elasticsearch,Amazon Dynamodb,amazon Elasticsearch" /> amazon-elasticsearch,Amazon Dynamodb,amazon Elasticsearch" />

Amazon dynamodb 尝试将多个Amazon DynamoDB表合并为一个表 脚本:

Amazon dynamodb 尝试将多个Amazon DynamoDB表合并为一个表 脚本:,amazon-dynamodb,amazon-elasticsearch,Amazon Dynamodb,amazon Elasticsearch,我有一个JSON格式的半结构化数据集。我将数据集中的3个子集(新的_记录、更新的_记录和删除的_记录)存储在3个不同的Amazon DynamoDB表中。计划每天截断和加载 我试图创建一个映射,从这些DynamoDB表中获取数据,附加一些元数据列(date\u created、date\u modified、is\u active),并将数据合并到主DynamoDB表中 问题和挑战: 我尝试了使用Crawler为源表创建数据目录。我知道AWS Glue不提供在DynamoDB中存储数据的规定,所

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

我试图创建一个映射,从这些DynamoDB表中获取数据,附加一些元数据列(date\u created、date\u modified、is\u active),并将数据合并到主DynamoDB表中

问题和挑战: 我尝试了使用Crawler为源表创建数据目录。我知道AWS Glue不提供在DynamoDB中存储数据的规定,所以我将目标更改为Amazon S3。然而,AWS胶水作业会在我的AmazonS3存储桶中创建某种简化形式的数据(拼花对象)。我对Pypark、Pig和Hive的经验有限,所以如果我无法解释清楚,请原谅

谷歌上的快速研究提示我阅读亚马逊S3上可用的拼花地板对象,使用亚马逊雅典娜或红移光谱

我不确定,但这看起来太过分了,不是吗

我读到了有关亚马逊数据管道的文章,它提供了在不同AWS服务之间快速传输数据的功能。虽然我不确定它是否提供了一些机制来创建源和目标之间的映射(以便附加额外的列),还是直接将数据从一个服务转储到其他服务

有人能暗示一个清晰而简约的解决方案吗

--更新-- 我已经能够使用AWS胶水将Amazon DynamoDB中的数据整合到Amazon Redshift中,这实际上非常简单

然而,对于Amazon Redshift,有一些特征性的问题——它的关系性质以及它无法直接执行
单一合并
,或者
升级
来更新表,这是我在这里考虑的几个主要问题


我正在考虑是否可以在这里使用Amazon ElasticSearch对来自Amazon DynamoDB的数据进行索引和合并。

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

  • 您为什么计划进行此迁移?仔细想想这个
  • 从3个表移动到1个表,表大小不应该是DynamoDB的问题,而应该考虑读/写单元容量
  • 雅典娜是一个很好的选择,你将编写SQL来查询你的数据,将根据扫描的数据为你的查询付款。。。但是雅典娜有30分钟的查询超时时间。(我想你可以要求增加,不确定!)
  • 我认为值得尝试使用数据管道。是的,您可以在移动数据的同时对其进行处理

  • 我认为SQL对Athena来说是一个优势,但是有些人不喜欢SQL,因为它的数据结构比较简单,所以决定使用Kibana作为例子。因此,我再次根据您的需要看到它。整合过程只是为了将操作数据库连接并合并到OLAP系统(仓库)中。因此,这不是真正的迁移,而是为数据集成奠定了基础。我已经为DynamoDB表适当地配置了读写规定单元,所以这应该不会是一个问题。如果我错了,请纠正我,但我相信Amazon Athena是一个查询服务,可以帮助使用标准SQL分析Amazon S3中的数据。使用不同的AWS服务进行存储和查询会增加不必要的复杂性。我更喜欢使用Amazon Redshift,它提供了数据仓库存储和查询功能的解决方案。我目前正在探索Amazon数据管道文档,以获得更核心的理解。