Amazon DynamoDB からの COPY - Amazon Redshift

Amazon DynamoDB からの COPY

既存の DynamoDB テーブルからデータをロードするには、FROM 句を使用して DynamoDB テーブル名を指定します。

重要

DynamoDB テーブルが Amazon Redshift クラスターと同じリージョンに存在しない場合は、REGION パラメータを使用して、データがあるリージョンを指定する必要があります。

構文

FROM 'dynamodb://table-name' authorization READRATIO ratio | REGION [AS] 'aws_region' | optional-parameters

次の例では、DynamoDB テーブルからデータをロードします。

copy favoritemovies from 'dynamodb://ProductCatalog' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' readratio 50;

パラメータ

FROM

ロードするデータのソースです。

'dynamodb://table-name'

データが入った DynamoDB テーブルの名前 ('dynamodb://ProductCatalog' など)。DynamoDB で Amazon Redshift 列に属性がマッピングされる方法の詳細については、Amazon DynamoDB テーブルからのデータのロードを参照してください。

DynamoDB テーブル名は AWS アカウントに固有のものです。アカウントは AWS アクセス認証情報によって識別されます。

authorization

COPY コマンドには、Amazon S3、Amazon EMR、DynamoDB、Amazon EC2 を含む、別の AWS リソースのデータにアクセスするための許可が必要になります。この承認を付与するには、クラスターにアタッチした AWS Identity and Access Management (IAM) ロールを参照 (ロールベースのアクセスコントロール) するか、ユーザーのアクセス認証情報を指定 (キーベースのアクセスコントロール) します。セキュリティと柔軟性を強化するために、IAM ロールベースのアクセスコントロールを使用することをお勧めします。詳細については、「認証パラメータ」を参照してください。

READRATIO [AS] ratio

データロードに使用する DynamoDB テーブルのプロビジョニングされたスループットの比率です。READRATIO は DynamoDB からの COPY では必須です。Amazon S3 からの COPY の実行には使用できません。この割合については、未使用のプロビジョニングされたスループットの平均よりも小さい値に設定することを強くお勧めします。有効な値は、1~200 の整数です。

重要

READRATIO を 100 以上に設定すると、Amazon Redshift で DynamoDB テーブルのプロビジョニングされたスループット全体を使用できるようになり、COPY セッション中に同じテーブルに対する同時読み込みオペレーションのパフォーマンスが大きく低下します。書き込みトラフィックは影響を受けません。Amazon Redshift がテーブルのプロビジョニングされたスループットを満たさないまれなシナリオをトラブルシューティングする場合には、100 を超える値を使用できます。DynamoDB から Amazon Redshift に継続的にデータをロードする場合、DynamoDB テーブルを時系列テーブルとして編成し、COPY 操作からライブトラフィックを分離することを検討してください。

任意指定のパラメータ

Amazon DynamoDB からの COPY では、オプションで次のパラメータを指定できます。

サポートされないパラメータ

DynamoDB からの COPY では、次のパラメータは使用できません。

  • 全データ形式パラメータ

  • ESCAPE

  • FILLRECORD

  • IGNOREBLANKLINES

  • IGNOREHEADER

  • NULL

  • REMOVEQUOTES

  • ACCEPTINVCHARS

  • MANIFEST

  • ENCRYPTED