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

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