使ってみる tRedshiftOutputBulk コンポーネント
名称 | 機能 |
---|---|
tRedshiftBulkExec | COPY コマンドを発行する。 |
tRedshiftOutputBulk | Flow データからファイルを生成し、S3 へアップロードする。 |
tRedshiftOutputBulkExec | Flow データからファイルを生成し、S3 へアップロード後、COPY コマンドを発行する。 |
tRedshiftOutputBulk とは?
データソースの種別は問わず、入力された Flow データからファイルを生成し、S3 へアップロードするコンポーネントです。
使ってみる
データベースから抽出したデータをファイルとして S3 へアップロードしたり……
Excel ファイルから読み込んだデータをファイルとして S3 へアップロードしたり……
のようにオレンジ色の行リンクを張って使います。
プロパティ
設定する項目は大別して二種類になります。
基本設定
生成ファイルの設定
プロパティ名 | 説明 |
---|---|
Data file path at local | 作成するファイルのローカルファイルパスを設定します。 |
Schema | データのスキーマ情報(カラム構成)を設定します。 基本的には上流の入力コンポーネントのスキーマが設定されます。 |
Compress the data file | ファイルを GZIP 圧縮するか否かを設定します。 |
Encrypt | ファイルを暗号化するか否かを設定します。 暗号化する場合は表示される入力フィールドに暗号化キーを入力します。 |
S3 へのアクセス設定
プロパティ名 | 説明 |
---|---|
アクセスキー | S3 へ接続するための AccessKeyId を設定します。 |
シークレットキー | S3 へ接続するための SecretAccessKey を設定します。 |
Bucket | ファイルを Put する宛先のバケット名を設定します。 |
Key | Put されるファイルのオブジェクトキーを設定します。 |
詳細設定
生成ファイルの設定
プロパティ名 | 説明 |
---|---|
Field separator | 区切り文字を設定します。 |
Text enclosure | 囲み文字を設定します。 |
Delete local file after putting it to s3 | データファイルを S3 へ Put したらローカルファイルを削除するかどうかを設定します。 |
Create directory if not exists | ファイルパスのディレクトリが存在しない場合は作成するかどうかを設定します。 |
Encoding | データファイルの文字コードを設定します。 |
S3 へのアクセス設定
プロパティ名 | 説明 |
---|---|
Config client | S3 接続についての詳細なクライアント設定を入力します。 |
データファイルアップロード後
基本的にはデータファイルのアップロード後、Redshift へ Copy コマンドを発行することでそれを一括ロードすることを期待しているので tRedshiftBulkExec コンポーネントに繋がることになります。
入力コンポーネントから tRedshiftOutputBulk コンポーネントへのサブジョブが成功したら、tRedshiftBulkExec で Copy コマンドを発行するという流れになります。
まとめ
Redshift への Copy コマンド発行を tRedshiftBulkExec で任意のタイミングで実行できるため、複数のデータソースから抽出したデータを同一 Redshift テーブルへ一括ロードしたい場合などに役立ちます。Redshift でロードが可能なファイル形式にしかならないので、思わぬトラブルも防げることでしょう。