転送先 - Amazon Redshift
- 29 Jun 2023
- 1 分で読み終わります
- 印刷
- ダークライト
転送先 - Amazon Redshift
- 更新日 29 Jun 2023
- 1 分で読み終わります
- 印刷
- ダークライト
Article Summary
Share feedback
Thanks for sharing your feedback!
概要
Amazon Redshiftへデータを転送する設定のヘルプページです。
対応プロトコル
- データ転送(Embulk)
embulk-output-redshift (v0.9.0.3)を使用
制約
- 特になし
設定項目
STEP1 基本設定
項目名 | 必須 | デフォルト値 | 内容 |
---|---|---|---|
Amazon Redshift接続情報 | Yes | - | あらかじめ登録してあるAmazon Redshiftの接続情報から、今回の転送設定に必要な権限を持つものを選択します。 |
データベース | Yes | - | データを転送したい先のデータベース名を指定します。 |
スキーマ | Yes | - | データを転送したい先のスキーマ名を指定します。 スキーマ一覧を読み込むを押すことで、一覧を読み込むこともできます。 |
テーブル | Yes | - | データを転送したい先のテーブル名を指定します。 テーブル一覧を読み込むを押すことで、一覧を読み込むこともできます。 |
Amazon S3バケット | Yes | - | データ転送時に一時的にデータを保存するためのS3バケット名を指定します。 バケット一覧を読み込むを押すことで、一覧を読み込むこともできます。 |
Amazon S3キープレフィックス | Yes | - | データ転送時に一時的にデータを保存するためのS3パス名を指定します。 |
転送モード | Yes | 追記 (INSERT ) | 転送モードを選択します。 各モードについて、詳しくは後述の転送モードについてを参照ください。 |
STEP1の詳細設定
詳細を設定するをクリックすると、設定項目が表示されます。
項目名 | 必須 | デフォルト値 | 内容 |
---|---|---|---|
バッチサイズ (KB) | Yes | 16,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つは設定してください。なお、テーブルのすべてのカラムをマージキーに設定することはできません。 |
デフォルトのタイムゾーン | UTC | timestamp形式のカラムがあった場合はタイムゾーンを指定可能です。 |
カラム設定 | - | - |
ロード前に実行するSQL | - | - |
ロード後に実行するSQL | - | - |
転送モードについて
モード | 詳細 |
---|---|
追記 (INSERT ) | テーブルへの追記を行います。 はじめに一時テーブルを生成してそこにデータを投入し、次に一時テーブルから転送先テーブルへの INSERT を行います。そのため、転送が途中で失敗した際に中途半端なデータが転送先テーブルに残ることがありません。 また、転送先テーブルが存在しない場合は自動的にテーブルを作成します。 |
追記 (INSERT DIRECT ) | テーブルへの追記を行います。 一時テーブル等は作成せず、直接転送先テーブルにデータを投入します。 そのため、転送が途中で失敗した際には中途半端な状態のデータが残る場合があります。 また、転送先テーブルが存在しない場合は自動的にテーブルを作成します。 |
全件洗い替え (TRUNCATE INSERT ) | テーブルの洗い替えを行います。 はじめに一時テーブルを生成してそこにデータを投入し、次に一時テーブルから転送先テーブルへの INSERT を行います。なお、 INSERT の直前にTRUNCATE を行うため、洗い替えとなります。 |
全件洗い替え (REPLACE ) | テーブルの洗い替えを行います。 はじめに一時テーブルを生成してそこにデータを投入し、これが成功した場合、転送先のテーブルを削除し一時テーブルの名前を変更します。 |
UPSERT (MERGE) | テーブルのUPSERT を行います。はじめに一時テーブルを生成し、そこにデータをすべて投入します。 次に転送先テーブルに対して、一時テーブルにキーが存在するレコードを更新し、その後キーが存在しないレコードを挿入します。 なお、マージキーにNULLが含まれている場合は正しく機能しません。 |
この記事は役に立ちましたか?