Amazon S3 からデータをロードする
既存のテーブルまたは新しいテーブルに Amazon S3 データをロードできます。
データを既存のテーブルにロードするには
クエリエディタ v2 は、Amazon S3 からデータをロードするために COPY コマンドを使用します。クエリエディタ v2 の [データのロード] ウィザードで生成および使用される COPY コマンドは、Amazon S3 からのコピー時に COPY コマンド構文で使用できる、多くのパラメータをサポートしています。Amazon S3 からデータをロードするための COPY コマンドと使用するオプションの詳細については、Amazon Redshift データベース開発者ガイドの「Amazon S3 からの COPY」を参照してください。
データをロードするデータベースに、テーブルがすでに作成されていることを確認します。
次に進む前に、クエリエディタ v2 のツリービューパネルで、ターゲットデータベースに接続していることを確認します。コンテキストメニュー (右クリック) を使用して、データをロードするクラスターまたはワークグループへの接続を作成できます。
[Load data] (データをロード) をクリックします。
[データソース] では、[S3 バケットからロード] を選択します。
[S3 URI] で [Browse S3] (S3 をブラウズ) をクリックして、ロードするデータが含まれている Amazon S3 バケットを検索します。
指定した Amazon S3 バケットがターゲットテーブルと同じ AWS リージョン にない場合、[S3 file location] (S3 ファイルの場所) でデータが置かれた AWS リージョン を選択します。
Amazon S3 ファイルが実際に複数の Amazon S3 バケット URI を含むマニフェストである場合。[This file is a manifest file] (このファイルはマニフェストファイルです) を選択します。
アップロードするファイルの [File format] (ファイル形式) を選択します。サポートされているデータ形式は、CSV、JSON、DELIMITER、FIXEDWIDTH、SHAPEFILE、AVRO、PARQUET、ORC です。指定したファイル形式に応じて、それぞれの [File options] (ファイルオプション) を選択できます。また、データが暗号化されており、暗号化に使用する KMS キーの Amazon リソースネーム (ARN) を入力した場合には、[Data is encrypted] (データは暗号化されています) を選択できます。
CSV または DELIMITER を選択すると、指定した行数が実際には列名であり、ロードするデータではない場合に、[区切り文字] で [ヘッダー行を無視する] を選択することもできます。
圧縮方法を選択してファイルを圧縮します。デフォルトでは圧縮なしです。
(オプション) [Advanced settings] (詳細設定) では、さまざまな [Data conversion parameters] (データ変換パラメータ) や [Load operations] (ロードオペレーション) がサポートされています。ファイルの必要に応じて、この情報を入力します。
データ変換パラメータとデータロードパラメータの詳細については、「Amazon Redshift データベースデベロッパーガイド」の「データ変換パラメータ」と「データのロード操作」を参照してください。
[Next] を選択します。
[既存のテーブルをロード] を選択します。
クラスターまたはワークグループ、データベース、スキーマ、およびデータがロードされるテーブル名を含む [Target table] (ターゲットテーブル) の場所を確認または選択します。
Amazon S3 からデータをロードするために必要な許可を持つ [IAM role] (IAM ロール) を選択します。
(オプション) 列名を選択して [Column mapping] (列のマッピング) に入力すると、入力データファイルの順序で列がマッピングされます。
[Load data] (データをロード) をクリックして、データのロードを開始します。
ロードが完了すると、データのロードのために生成された COPY コマンドとともに、クエリエディタが表示されます。COPY の [Result] (結果) は次のように表示されます。成功すると、ロードされたテーブルから SQL を使用してデータを選択できるようになります。エラーが発生した場合は、システムビュー STL_LOAD_ERRORS にクエリを実行して、詳細を取得します。COPY コマンドとそのエラーについては、Amazon Redshift データベース開発者ガイドの「STL_LOAD_ERRORS」を参照してください。
新しいテーブルにデータをロードすると、クエリエディタ v2 は最初にデータベースにテーブルを作成してから、同じワークフローの別のアクションとしてデータをロードします。
データを新しいテーブルにロードするには
クエリエディタ v2 は、Amazon S3 からデータをロードするために COPY コマンドを使用します。クエリエディタ v2 の [データのロード] ウィザードで生成および使用される COPY コマンドは、Amazon S3 からのコピー時に COPY コマンド構文で使用できる、多くのパラメータをサポートしています。Amazon S3 からデータをロードするための COPY コマンドと使用するオプションの詳細については、Amazon Redshift データベース開発者ガイドの「Amazon S3 からの COPY」を参照してください。
次に進む前に、クエリエディタ v2 のツリービューパネルで、ターゲットデータベースに接続していることを確認します。コンテキストメニュー (右クリック) を使用して、データをロードするクラスターまたはワークグループへの接続を作成できます。
[Load data] (データをロード) をクリックします。
[データソース] では、[S3 バケットからロード] を選択します。
[S3 URI] で [Browse S3] (S3 をブラウズ) をクリックして、ロードするデータが含まれている Amazon S3 バケットを検索します。
指定した Amazon S3 バケットがターゲットテーブルと同じ AWS リージョン にない場合、[S3 file location] (S3 ファイルの場所) でデータが置かれた AWS リージョン を選択します。
Amazon S3 ファイルが実際に複数の Amazon S3 バケット URI を含むマニフェストである場合。[This file is a manifest file] (このファイルはマニフェストファイルです) を選択します。
アップロードするファイルの [File format] (ファイル形式) を選択します。サポートされているデータ形式は、CSV、JSON、DELIMITER、FIXEDWIDTH、SHAPEFILE、AVRO、PARQUET、ORC です。指定したファイル形式に応じて、それぞれの [File options] (ファイルオプション) を選択できます。また、データが暗号化されており、暗号化に使用する KMS キーの Amazon リソースネーム (ARN) を入力した場合には、[Data is encrypted] (データは暗号化されています) を選択できます。
CSV または DELIMITER を選択すると、指定した行数が実際には列名であり、ロードするデータではない場合に、[区切り文字] で [ヘッダー行を無視する] を選択することもできます。
圧縮方法を選択してファイルを圧縮します。デフォルトでは圧縮なしです。
(オプション) [Advanced settings] (詳細設定) では、さまざまな [Data conversion parameters] (データ変換パラメータ) や [Load operations] (ロードオペレーション) がサポートされています。ファイルの必要に応じて、この情報を入力します。
データ変換パラメータとデータロードパラメータの詳細については、「Amazon Redshift データベースデベロッパーガイド」の「データ変換パラメータ」と「データのロード操作」を参照してください。
[Next] を選択します。
[新しいテーブルをロード] を選択します。
テーブルの列は入力データから推測されます。列とテーブルの詳細を追加すると、テーブルスキーマの定義を変更できます。クエリエディタ v2 の推測されたテーブルスキーマに戻すには、[デフォルトに戻す] を選択します。
[クラスターまたはワークグループ]、[データベース]、およびデータがロードされる[スキーマ]を含む、[ターゲットテーブル] の場所を確認または選択します。作成するテーブルの名前を入力します。
Amazon S3 からデータをロードするために必要な許可を持つ [IAM role] (IAM ロール) を選択します。
[テーブルを作成] を選択し、表示されている定義を使用してテーブルを作成します。
テーブル定義のレビューの要約が表示されます。テーブルがデータベースに作成されます。後でテーブルを削除するには、DROP TABLE SQL コマンドを実行します。詳細については、Amazon Redshift データベースデベロッパーガイドの「DROP TABLE」を参照してください。
[Load data] (データをロード) をクリックして、データのロードを開始します。
ロードが完了すると、データのロードのために生成された COPY コマンドとともに、クエリエディタが表示されます。COPY の [Result] (結果) は次のように表示されます。成功すると、ロードされたテーブルから SQL を使用してデータを選択できるようになります。エラーが発生した場合は、システムビュー STL_LOAD_ERRORS にクエリを実行して、詳細を取得します。COPY コマンドとそのエラーについては、Amazon Redshift データベース開発者ガイドの「STL_LOAD_ERRORS」を参照してください。