転送先 - Amazon Redshift
  • 29 Jun 2023
  • 1 分で読み終わります
  • ダーク
    ライト

転送先 - Amazon Redshift

  • ダーク
    ライト

Article Summary

概要

Amazon Redshiftへデータを転送する設定のヘルプページです。

対応プロトコル

制約

  • 特になし

設定項目

STEP1 基本設定

項目名必須デフォルト値内容
Amazon Redshift接続情報Yes-あらかじめ登録してあるAmazon Redshiftの接続情報から、今回の転送設定に必要な権限を持つものを選択します。
データベースYes-データを転送したい先のデータベース名を指定します。
スキーマYes-データを転送したい先のスキーマ名を指定します。
スキーマ一覧を読み込むを押すことで、一覧を読み込むこともできます。
テーブルYes-データを転送したい先のテーブル名を指定します。
テーブル一覧を読み込むを押すことで、一覧を読み込むこともできます。
Amazon S3バケットYes-データ転送時に一時的にデータを保存するためのS3バケット名を指定します。
バケット一覧を読み込むを押すことで、一覧を読み込むこともできます。
Amazon S3キープレフィックスYes-データ転送時に一時的にデータを保存するためのS3パス名を指定します。
転送モードYes追記 (INSERT)転送モードを選択します。
各モードについて、詳しくは後述の転送モードについてを参照ください。

STEP1の詳細設定

詳細を設定するをクリックすると、設定項目が表示されます。

項目名必須デフォルト値内容
バッチサイズ (KB)Yes16,384バッチサイズを入力します。
転送実行時にOutOfMemoryErrorが発生した場合には、適宜バッチサイズを引き下げてください。

STEP2 出力オプション

項目名デフォルト値詳細
テーブル制約-CREATE TABLE文にテーブル制約を追加可能です。
CREATE TABLE \<table_name\> (\<column1\> <type1\>, \<column2\> \<type2\>, ... , \<テーブル制約\>) \<テーブルオプション\>
テーブルオプション-CREATE TABLE文にテーブルオプションを追加可能です。
CREATE TABLE \<table_name\> (\<column1\> \<type1\>, \<column2\> \<type2\>, ... , \<テーブル制約\>) \<テーブルオプション\>
一時的にAmazon S3に保存されたファイルの削除する-
IAMロール名-AWSアクセスキー・AWSシークレットアクセスキーの代わりにIAMロールを使用可能です。
最大リトライ回数12-
リトライ待ち時間(ミリ秒)1,000-
リトライ待ち時間の最大値(ミリ秒)1,800,000-
マージキーの設定-転送モードにUPSERT (MERGE)を選択したときに設定します。更新対象とするカラムを少なくとも1つは設定してください。
なお、テーブルのすべてのカラムをマージキーに設定することはできません。
デフォルトのタイムゾーンUTCtimestamp形式のカラムがあった場合はタイムゾーンを指定可能です。
カラム設定--
ロード前に実行するSQL--
ロード後に実行するSQL--

転送モードについて

モード詳細
追記 (INSERT)テーブルへの追記を行います。
はじめに一時テーブルを生成してそこにデータを投入し、次に一時テーブルから転送先テーブルへのINSERTを行います。
そのため、転送が途中で失敗した際に中途半端なデータが転送先テーブルに残ることがありません。

また、転送先テーブルが存在しない場合は自動的にテーブルを作成します。
追記 (INSERT DIRECT)テーブルへの追記を行います。
一時テーブル等は作成せず、直接転送先テーブルにデータを投入します。
そのため、転送が途中で失敗した際には中途半端な状態のデータが残る場合があります。

また、転送先テーブルが存在しない場合は自動的にテーブルを作成します。
全件洗い替え (TRUNCATE INSERT)テーブルの洗い替えを行います。
はじめに一時テーブルを生成してそこにデータを投入し、次に一時テーブルから転送先テーブルへのINSERTを行います。
なお、INSERTの直前にTRUNCATEを行うため、洗い替えとなります。
全件洗い替え (REPLACE)テーブルの洗い替えを行います。
はじめに一時テーブルを生成してそこにデータを投入し、これが成功した場合、転送先のテーブルを削除し一時テーブルの名前を変更します。
UPSERT (MERGE)テーブルのUPSERTを行います。
はじめに一時テーブルを生成し、そこにデータをすべて投入します。
次に転送先テーブルに対して、一時テーブルにキーが存在するレコードを更新し、その後キーが存在しないレコードを挿入します。
なお、マージキーにNULLが含まれている場合は正しく機能しません。

この記事は役に立ちましたか?