【问题标题】:AWS Data Pipeline DynamoDB to S3 to Redshift including JsonPathsAWS Data Pipeline DynamoDB 到 S3 到 Redshift,包括 JsonPaths
【发布时间】:2017-03-15 19:15:35
【问题描述】:

我知道从 DynamoDB 到 Redshift 的标准 COPY,但这仅适用于没有地图和列表的模式。我有几个带有地图和列表的 ddb 表,我需要使用 jsonpaths 来导入 Redshift。

所以我的问题是,我可以安排从 DynamoDB 到 S3 的备份,然后在备份完成后,运行导入到 Redshift,包括 jsonpaths 配置?我想这是一个两阶段的过程。或者我可以创建一个单独的数据管道来执行备份和导入吗?

或者,是否有可以使用 AWS 的任务运行程序,或者我需要连接一个事件 (SNS) 以通知导入备份已完成?

【问题讨论】:

  • 数据管道..
  • 是的,但是如何结合执行备份和导入?

标签: amazon-web-services amazon-dynamodb amazon-redshift amazon-sns amazon-data-pipeline


【解决方案1】:

AWS 现在有一些可以运行任务的服务。您可以使用AWS step functions 管理您的导入工作流程。 AWS Lambda functions 对应于您的导入工作流程中的每个步骤可能会产生 AWS Batch jobs,其中第一个作业将您的 DynamoDB 表备份到 S3,第二个作业将使用 jsonpaths 配置导入到 Redshift。

【讨论】:

    【解决方案2】:

    您可以将 Dynamo 复制到 RS,但两者的架构必须完全匹配 AFAIK(我还没有尝试过)

    但是,您可以设置两个/单个管道来设置从 DDB 到 S3 以及从 S3 到 RS 的备份。 DDB 将备份作为 JSON 对象,因此您需要将 jsonpath 配置插入您的 RS

    示例 col1(数字) - 0 col2(字符串) - x 您的备份看起来像 {"col1":{"n":"0"},"col2":{"s":"x"}} 你得到 0 的 jsonpath 应该像 $.col1.n

    如果您设置 2 个管道,您可以使用数据管道预定义模板,但如果您想使用一个管道,则必须构建自己的模板或从模板开始并在其上构建

    您可以在管道失败或成功时连接 snsAlarm。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      相关资源
      最近更新 更多