【问题标题】:Is there a way to group my DynamoDB export tasks on one EMR cluster?有没有办法将我的 DynamoDB 导出任务分组到一个 EMR 集群上?
【发布时间】:2017-03-20 04:20:56
【问题描述】:

当我通过 DynamoDB 控制台中的导出功能设置重复备份时,它创建的任务在运行时会自动创建一个新的 EMR 集群。我的一些表需要备份,但相当小。我最终得到的是运行大量大型服务器来备份一些相对较小的表。是否有任何简单的方法可以将这些任务链接起来,以便在一个服务器组上串行或并行运行?

【问题讨论】:

    标签: amazon-web-services backup amazon-dynamodb emr amazon-data-pipeline


    【解决方案1】:

    是的,这是可能的。没有直接的方法,但需要在 Data-Pipeline 端进行一些额外的调整。您需要了解默认情况下 Data-Pipeline 如何实际运行您的导出作业。

    1. 当您单击 DDB 控制台上的导出按钮时,它会将您带到 Data-Pipelines 控制台以创建用于导出的管道。

    2. 填写完模板后,不用运行,你可以使用Edit in Architect功能改变当前模板,该模板只适用于一张表。

    3. 在架构师页面上,如果您观察 Activities 部分,您会发现 EmrAcvity 使用以下参数运行 EMR STEP。此 EMR STEP 将使用您最初在模板上传递的参数运行导出作业。请注意,它还将 RunsOn EMRclusterforBackup 资源,您可以在资源部分找到。

    s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}

    1. 要使用相同的 EMR 资源在其他 DDB 表上运行导出,您只需单击 Add 创建另一个 EMRActivity 对象,然后在架构师上添加 EMRActivity。在此活动中,您可以使用与先前活动相同的RunsOn,并且在 STEP 参数中您可以手动编辑以包含其他表名及其导出路径 喜欢

    s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,s3://myexport-bucket/table2/,table2,0.9

    1. 您可以为多个表扩展它。

    注意:这可以很容易地为多个表完成,使用 JSON 文件作为数据管道定义,编辑它以添加更多活动和参数,然后将其导出到稍后运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 2017-10-03
      • 1970-01-01
      • 2019-04-04
      • 2020-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多