我创建了 AWS Data Pipeline 将数据从 Amazon DynamoDB 导出到 Amazon Simple Storage Service (Amazon S3)。当我尝试导出数据时,我收到了这个错误消息:"Exception in thread "main" java.lang.RuntimeException: Read throughput should not be less than 1"(线程 "main" java.lang.RuntimeException 异常:读取吞吐量不应小于1)。
解决方法
如果要创建新管道从 DynamoDB 表中导出数据,请使用将 DynamoDB 表导出到 S3 数据管道模板创建管道。有关创建管道的更多信息,请参阅第二部分:从 DynamoDB 导出数据。
如果要使用现有管道将数据从 DynamoDB 导出到 S3,则必须为该管道使用最新的 EMR-DynamoDB 连接器。使用旧版本的 EMR-DynamoDB 连接器导出数据时,可能会出现错误。
请确保 DynamoDB 表的 Amazon EMR 版本为 5.24.0 或以上。只有使用 Amazon EMR 版本 5.24.0 或以上时,才支持将 DynamoDB 表配置为按需容量。有关更多信息,请参阅从 DynamoDB 导出数据 - 开始之前。
要将现有管道更新为使用最新的 EMR-DynamoDB 连接器和 Amazon EMR 版本 5.24.0 或以上,请执行以下操作:
1. 打开 AWS Data Pipeline 控制台。
2. 选择管道,然后选择 Actions(操作)。
3. 选择编辑。
4. 在左侧窗格中选择 EmrActivity。
5. 展开 Activities(活动)窗格,然后找到 EmrActivity 对象。
6. 在 Step(步骤)字段中,输入以下 JAR 名称:
s3://dynamodb-dpl-#{myDDBRegion}/emr-ddb-storage-handler/4.11.0/emr-dynamodb-tools-4.11.0-SNAPSHOT-jar-with-dependencies.jar
7. 在左侧窗格中选择 EmrCluster。
8. 展开 Resources(资源)窗格。
9. 在 Release Label(版本标签)中,输入 emr-5.24.0 或任何更高的 EMR 版本。
10. 选择 Save(保存)。
相关信息
如何使用 Data Pipeline 将 DynamoDB 表备份到另一个账户中的 S3 存储桶?