Talend Open Studio (ETLツール) でデータ統合(6)~ファイル連続処理 [BI]
今更ですが、基本的な使い方の一つを書いておこうと思います(笑)
ETLはデータソースをいろいろ指定できますが、業務アプリ的な使い方以外に、普段繰り返しやっていることを自動化するような使い方も可能です。ExcelやAccessでマクロを組んで対応することも可能ですが、Talendでのやり方をわかってしまえばマクロより簡単にジョブを組むことができます。今回は、複数のファイルを読み込み→文字コード変換→ファイル名にある日付をDBのコラム名として格納というジョブを組んでみます。
全体的なコンポーネントのつなぎ方、tFileListの設定。
ファイルマスクは画面のように設定すると、csvの拡張子を持つファイルすべてという指定ができます。
複数ファイルを開いた先の最初のコンポーネントの設定方法。入力ファイル名はこのように記述します。
最後に今回のハイライト、ファイル名に日付を含む場合に日付部分のみを取出し、DBのコラムとして格納します。tMapのエクスプレッションに以下の式を入れました。
StringHandling.LEFT(StringHandling.RIGHT("((String)globalMap.get("tFileList_1_CURRENT_FILE"))",12),8)
これで日別のデータを日付データ込みでざくざくDBに投入することができます。
ETLはデータソースをいろいろ指定できますが、業務アプリ的な使い方以外に、普段繰り返しやっていることを自動化するような使い方も可能です。ExcelやAccessでマクロを組んで対応することも可能ですが、Talendでのやり方をわかってしまえばマクロより簡単にジョブを組むことができます。今回は、複数のファイルを読み込み→文字コード変換→ファイル名にある日付をDBのコラム名として格納というジョブを組んでみます。
全体的なコンポーネントのつなぎ方、tFileListの設定。
ファイルマスクは画面のように設定すると、csvの拡張子を持つファイルすべてという指定ができます。
複数ファイルを開いた先の最初のコンポーネントの設定方法。入力ファイル名はこのように記述します。
最後に今回のハイライト、ファイル名に日付を含む場合に日付部分のみを取出し、DBのコラムとして格納します。tMapのエクスプレッションに以下の式を入れました。
StringHandling.LEFT(StringHandling.RIGHT("((String)globalMap.get("tFileList_1_CURRENT_FILE"))",12),8)
これで日別のデータを日付データ込みでざくざくDBに投入することができます。
コメント 0