使ってみる tRedshiftBulkExec コンポーネント
名称 | 機能 |
---|---|
tRedshiftBulkExec | COPY コマンドを発行する。 |
tRedshiftOutputBulk | Flow データからファイルを生成し、S3 へアップロードする。 |
tRedshiftOutputBulkExec | Flow データからファイルを生成し、S3 へアップロード後、COPY コマンドを発行する。 |
tRedshiftBulkExec とは?
S3 上のファイルをデータソースに、Redshift テーブルへ一括ロードするための COPY コマンドを発行するコンポーネントです。
使ってみる(一例)
id | object_key |
---|---|
1 | hoge.csv |
2 | piyo.csv |
3 | fuga.csv |
load_target テーブルからロード対象のオブジェクトキーを取得し、取得オブジェクトキー分 COPY コマンドを発行する。
tAmazonMysqlInput_1
load_target テーブルから object_key を取得します。
出力スキーマとクエリは下記の通りです。
COLUMN | タイプ |
---|---|
object_key | String |
select object_key from load_target;
tFlowToIterate_1
tAmazonMysqlInput コンポーネントはデータフローとして出力するので反復処理へ変換します。
tRedshiftBulkExec
データベース設定、S3 設定を入力します。
- tRedshiftBulkExec properties(Talend Help Center の閲覧にはユーザ登録が必要です。)
S3 設定内のキーには反復処理される tFlowToIterate_1.object_key を設定します。
- tFlowToIterate_1 と入力し
- コード補完(Ctrl + Space)で表示される選択肢から tFlowToIterate_1.object_key を選択することで
- globalMap から取得する実際の式に変換されます。
まとめ
このコンポーネントはフローデータの入力などは持たず、ただ Redshift に対して COPY コマンドを発行するコンポーネントです。
S3 にアップロードされているデータソースファイルが既にロード可能な状態(文字コードや CSV フォーマットなど)である場合に用いられます。