[Talend] Talend Open Studio チュートリアル② 〜tMapの使い方〜
はじめに
以前投稿したブログでジョブの作成まではできていますので、そこからの続きになります。
今回はローカルマシンのCSVファイルを読み込んで、値を少し変化させてログに出力をするところまでをやってみます。
マッピング
前回のログの出力まで終了していると、このような状態になっています。
次はtMapというコンポーネントを使用します。 右ペインからドラッグすると「新しい出力名?」というダイアログが表示されますので今回は適当に「row2」と命名しました。
「ターゲットコンポーネントのスキーマを取得しますか?」と聞かれますので、これも「Yes」と選択します。
tMapとは名前の通りマッピングをするためのコンポーネントで
今回はローカルマシンのファイル(metadata)をマッピング(tMap)してログの出力(tLogRow)をするというジョブの作成になります。
tMapをダブルクリックしてtMapエディターを開きます。次にする作業は
1.lastnameカラムの値を大文字に変更
2.idの値に*5する
左側が変更前のテーブル定義で右側が変更後のテーブル定義になります。
右側の変更したいカラム(今回だと lastname)をクリックして、「...」をクリックします。
① StringHandlingを選択します
② UPCASEをダブルクリックすると、③に反映されます。
③ StringHandling.UPCASE()の引数に大文字にしたいカラムを入れます。今回だとrow1.lastnameですね。
① row1.idを選択します
② 式エディタタブを選択して値を操作します。今回は *5 としました。
これで実行すると
なんか変なのが出てきました。
The operator * is undefined for the argument type(s) String, int
* はダメだよって言ってますね。
よく見るとidがStringになってますね。ブログを書いている時に作り直したのでStringにしたままだったみたいですね。 なのでidをintにしてもう1度実行します。
これでうまくいきました。
最後に
手軽にマッピングができましたね。 次回はローカルファイルとデータベースから抽出したデータのマッピングをやってみます。