首页 > 解决方案 > 使用 AWS 将两个源 DynamoDB 表转换为新的 DynamoDB

问题描述

所以我有两个源表,让我们调用 ,table1table2, 和目标表table3- 在这些表中,有需要从一个表的列、另一个表的列中提取的信息,然后合并以将列条目提供给新的桌子。

把它想象成一个复杂的转变;例如:

因此,它不是 1 个表和另一个表之间的一对一映射,而是一对多映射,其中源的 1 行来自两个源表中的一行的混合,转换为新目标表的许多行。

这是胶水作业可以完成的事情吗?还是我最好只写一个一次性的 Python 脚本?您可以假设表的大小无关紧要

标签: amazon-web-servicesetlaws-gluedata-transformamazon-dynamodb

解决方案


如果您计划以某种频率运行此过程,那么这是 Glue 的完美用例。如果这只是一次性的,Glue 也是一个不错的选择,但 Glue 主要是为重复使用而设计的。
在你的胶水脚本中,我希望你最终会加入两个表,然后通过组合现有的列来选择新的结果列和行。通常要遵循的模式是将动态帧(由胶水创建)转换为 pyspark 数据帧,然后从那里使用 pyspark,在输出到数据库之前转换回动态帧。
请注意,根据您的设计,您可能不需要添加行,这当然取决于您寻求的结果,但 Dynamo 确实支持一些漂亮的分层方法这可能会消除您对多行的需求。
如果您有更具体的模式示例和您正在寻找的结果,我可以向您展示一些示例代码。


推荐阅读