DynamoDB から S3 にデータを移動するときに、「スレッド「main」java.lang.RuntimeException の例外: 読み込みスループットは 1 未満とすることはできません」というエラーを解決するにはどうすればよいですか?

最終更新日: 2021 年 2 月 26 日

Amazon DynamoDB から Amazon Simple Storage Service (Amazon S3) にデータをエクスポートする AWS Data Pipeline を作成しました。データをエクスポートしようとすると、「スレッド「main」java.lang.RuntimeException の例外: 読み込みスループットは 1 未満とすることはできません」というエラーが表示されます。

解決方法

DynamoDB テーブルからデータをエクスポートする新しいパイプラインを作成する場合は、[Export DynamoDB table to S3] (DynamoDB テーブルを S3 にエクスポート) Data Pipeline テンプレートを使用してパイプラインを作成します。パイプラインの作成の詳細については、「第 2 部: DynamoDB からのデータのエクスポート」をご参照ください。

既存のパイプラインを使用して DynamoDB から S3 にデータをエクスポートする場合は、そのパイプラインについて、最新の EMR-DynamoDB コネクタを使用する必要があります。EMR-DynamoDB コネクタの古いバージョンを使用してデータをエクスポートすると、エラーが発生することがあります。DynamoDB テーブルの Amazon EMR バージョンが 5.24.0 以降であることを確認します。オンデマンドキャパシティーについて設定された DynamoDB テーブルは、Amazon EMR リリースバージョン 5.24.0 以降を使用している場合にのみサポートされます。詳細については、「DynamoDB からのデータのエクスポート - 始める前に」をご参照ください。

最新の EMR-DynamoDB コネクタと Amazon EMR バージョン 5.24.0 以降を使用するように既存のパイプラインを更新するには、次の手順を実行します。

1.    AWS Data Pipeline コンソールを開きます。

2.    パイプラインを選択し、[Actions] (アクション) を選択します。

3.    [Edit★] を選択します。

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] (保存) を選択します。