

# COPY コマンドを使用した、DynamoDB から Amazon Redshift へのデータのロード
<a name="RedshiftforDynamoDB-copy-data"></a>



Amazon Redshift は、高度なビジネスインテリジェンス機能と強力な SQL ベースのインターフェイスによって Amazon DynamoDB と連携します。DynamoDB テーブルのデータを Amazon Redshift にコピーすると、Amazon Redshift クラスター内の他のテーブルとの結合など、複雑なデータ分析のクエリを実行できます。

プロビジョニングされたスループットの面から見ると、DynamoDB テーブルからのコピーオペレーションによって、テーブルの読み込みキャパシティーが低下します。データをコピーした後は、Amazon Redshift 内で SQL クエリを実行しても DynamoDB に全く影響はありません。これは、DynamoDB 自体に対してではなく、DynamoDB からのデータのコピーに対してクエリが実行されるためです。

DynamoDB テーブルからデータをロードする前に、まずデータのロード先として Amazon Redshift テーブルを作成する必要があります。注意していただきたいのは、NoSQL 環境から SQL 環境にデータをコピーしていることと、1 つの環境での特定のルールが他の環境には適用されないことです。考慮すべき相違点の例を以下に示します。
+ DynamoDB テーブル名には「.」(ドット) や「-」(ダッシュ) を含む最大 255 文字を使用することができ、大文字と小文字が区別されます。Amazon Redshift テーブル名は 127 文字までに制限されます。ドットやダッシュは使用できず、大文字と小文字は区別されません。さらに、テーブル名は Amazon Redshift の予約語と重複してはいけません。
+ DynamoDB では、SQL の NULL の概念がサポートされていません。Amazon Redshift において、DynamoDB 内の空白またはブランクの属性値をどのように解釈するか、つまり、NULL と空白のフィールドのどちらで処理するかを指定する必要があります。
+ DynamoDB のデータ型は、Amazon Redshift のデータ型と直接対応していません。Amazon Redshift テーブルの各列において、データ型が正しく、DynamoDB からのデータに対応したサイズであることを確認する必要があります。

Amazon Redshift SQL からの COPY コマンドの例を以下に示します。

```
copy favoritemovies from 'dynamodb://my-favorite-movies-table'
credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>'
readratio 50;
```

この例では、DynamoDB のソーステーブルは、`my-favorite-movies-table` です。Amazon Redshift のターゲットテーブルは、`favoritemovies` です。`readratio 50` 節により、プロビジョニングされたスループットの消費される割合が制限されます。この場合、COPY コマンドでは、`my-favorite-movies-table`用にプロビジョニングされた読み込みキャパシティーの 50% 以下しか使用されません。この割合については、未使用のプロビジョニングされたスループットの平均よりも小さい値に設定することを強くお勧めします。

DynamoDB から Amazon Redshift にデータをロードする詳細な手順については、[https://docs.aws.amazon.com/redshift/latest/dg/](https://docs.aws.amazon.com/redshift/latest/dg/)の次のセクションを参照してください。
+ [DynamoDB テーブルからのデータのロード](https://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html)
+ [The COPY command](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html)
+ [COPY の例](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html)