メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

Amazon DynamoDB からの COPY

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

重要

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

構文

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

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

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

Parameters

FROM

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

'dynamodb://table-name'

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

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

authorization

COPY コマンドには、Amazon S3、Amazon EMR、Amazon DynamoDB、Amazon EC2 を含む別の AWS リソースのデータにアクセスするための承認が必要になります。クラスターにアタッチされた AWS Identity and Access Management (IAM) ロールを参照して (ロールベースのアクセスコントロール)、または、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