データフローとしてのファイルリストの変換
次のシナリオでは、ファイルリストに対して繰り返し処理を実行し、ファイル名と現在の日付を選択してフローに変換し、コンソールに表示する方法について説明します。
-
[Palette] (パレット)から、tFileList、tIterateToFlow、tLogRowコンポーネントをデザインワークスペースにドロップします。
-
[Iterate] (反復処理)リンクを使って属し、tFileListをtIterateToFlowに接続し、[Row main] (行 メイン)接続を使ってジョブをtLogRowに接続します。
-
tFileListの[Component] (コンポーネント)ビューで、ファイルリストを格納するディレクトリーを設定するために使われます。
-
この例の場合、ファイルは、1つのディレクトリーCountriesに格納された3つの単純な.txtファイルです。
-
大文字と小文字の区別は関係ないため、[Case sensitive] (大文字と小文字を区別)チェックボックスをオフにします。
-
[Include Subdirectories] (サブディレクトリーを含める)チェックボックスはオフのままにしておきます。
-
次にtIterateToFlowコンポーネントをクリックし、[Edit Schema] (スキーマを編集)をクリックして新しいスキーマを設定するために使われます。
-
文字列型の[Filename] (ファイル名)、および日付型の[Date] (日付)の2つの新しいカラムを追加します。Javaで正しいパターンを確実に定義してください。
-
[OK]をクリックして確定します。
-
新たに作成されたスキーマが[Mapping] (マッピング)テーブルに表示されている点に留意してください。
-
[Value] (値)フィールドの各セルで[Ctrl]+[Space]キーを押して、グローバルおよびユーザー固有の変数のリストにアクセスします。
-
Filenameカラムでは、グローバル変数tFileList_1CURRENT_FILEPATHを使います。各ファイルの名前を取得するために現在のファイルパスが取得され、ジョブはこの処理を繰り返します。
-
[Date] (日付)カラムではTalendルーチン: Talend Date.getCurrentDate()を使用します(Java)。
-
次に、tLogRowコンポーネントビューで[Print values in cells of a table] (テーブルのセルの値を出力)チェックボックスをオンにします。
-
ジョブを保存し、[F6]を押して実行します。
ファイルパスが[Filename] (ファイル名)カラムに表示され、現在の日付が[Date] (日付)カラムに表示されます。