Amazon Redshift
データベース開発者ガイド (API バージョン 2012-12-01)

COPY コマンドを使ってデータをロードする

COPY コマンドは Amazon Redshift の超並列処理 (MPP) アーキテクチャを活用し、Amazon S3 のファイル、DynamoDB テーブル、リモートホストから出力されたテキストのいずれかから並列でデータをロードします。

注記

大量のデータをロードする場合、COPY コマンドを使うことをお勧めします。個々に INSERT ステートメントを使ってテーブルにデータを入力すると著しく時間がかかる場合があります。または、他の Amazon Redshift データベーステーブルにデータが既に存在する場合、パフォーマンスを改善するには、INSERT INTO ...SELECT または CREATE TABLE AS を使用します。詳細については、「INSERT」または「CREATE TABLE AS」を参照してください。

他の AWS リソースからデータをロードするには、クラスターがリソースにアクセスし、必要なアクションを実行するアクセス権限が必要です。

COPY コマンドを使ってデータをテーブルにロードするための権限を与えるか、取り消すには、INSERT 権限を与えるか、取り消します。

データの形式を Amazon Redshift テーブルにロードするための適切な形式にする必要があります。このセクションでは、ロードする前にデータを準備し、検証するための指針と、COPY ステートメントを実行する前に文を検証するための指針を紹介します。

Amazon S3 バケットにアップロードするデータファイルの情報を保護するには、事前に暗号化しておきます。COPY を実行すると、ロード時にデータが復号されます。一時的セキュリティ認証情報をユーザーに与えることで、データロードのアクセスを制限することもできます。一時的セキュリティ認証情報はセキュリティを強化します。使用期限が短く、期限が切れた後は再利用できないためです。

gzip、lzop、bzip2 のいずれかを使ってファイルを圧縮し、ファイルのアップロードにかかる時間を短縮できます。その後、COPY を使えば、読み込み時にファイルが解凍され、ロードプロセスが高速化されます。

AWS クラウド内で送信されるデータをセキュリティで保護するために、Amazon Redshift は COPY、UNLOAD、バックアップ、復旧オペレーションの実行時に、ハードウェア加速化 SSL を使用して Amazon S3 または Amazon DynamoDB と通信します。

Amazon DynamoDB テーブルからデータを直接ロードするとき、Amazon DynamoDB がプロビジョニングするスループットの消費量を制御するオプションがあります。

任意で COPY を使い、入力データを分析したり、ロードプロセスの一部として最適な圧縮エンコーディングをテーブルに自動的に適用したりできます。