amazon-web-services - 使用 AWS 将两个源 DynamoDB 表转换为新的 DynamoDB
问题描述
所以我有两个源表,让我们调用 ,table1
和table2
, 和目标表table3
- 在这些表中,有需要从一个表的列、另一个表的列中提取的信息,然后合并以将列条目提供给新的桌子。
把它想象成一个复杂的转变;例如:
column1
从新转换表中提取的部分文本和 in 中的table1
完整文本组合成 4 行(取决于in的 JSON )。column1
table2
column1
column1
table1
因此,它不是 1 个表和另一个表之间的一对一映射,而是一对多映射,其中源的 1 行来自两个源表中的一行的混合,转换为新目标表的许多行。
这是胶水作业可以完成的事情吗?还是我最好只写一个一次性的 Python 脚本?您可以假设表的大小无关紧要
解决方案
如果您计划以某种频率运行此过程,那么这是 Glue 的完美用例。如果这只是一次性的,Glue 也是一个不错的选择,但 Glue 主要是为重复使用而设计的。
在你的胶水脚本中,我希望你最终会加入两个表,然后通过组合现有的列来选择新的结果列和行。通常要遵循的模式是将动态帧(由胶水创建)转换为 pyspark 数据帧,然后从那里使用 pyspark,在输出到数据库之前转换回动态帧。
请注意,根据您的设计,您可能不需要添加行,这当然取决于您寻求的结果,但 Dynamo 确实支持一些漂亮的分层方法这可能会消除您对多行的需求。
如果您有更具体的模式示例和您正在寻找的结果,我可以向您展示一些示例代码。
推荐阅读
- react-native - 无法保持 react-native redux 状态
- solace - 支持 TLS 的 C 语言中的 Solace 客户端
- deep-learning - 如何在数据集上训练更快的rcnn,包括pytorch中的负数据
- java - 如何关闭喵底栏动画?
- r - 如何平滑R中定义的函数图?
- windows - 在 Windows 上使用 MSVC 工具交叉编译 x64_arm
- python - 在多目标优化函数中确定系数的模拟 (gurobi)
- java - 单独的验证注释,它是单独模块中的验证器
- openid-connect - 我可以使用 MSAL 来开发 OIDC 的客户端实现,其 IDP 既不是使用 Azure 也不是任何 Microsoft 技术构建的?
- python - Numpy 使用矩阵索引插入矩阵值