このチュートリアルでは、tMap出力にフィルターを設定する方法、およびそれらのフィルターを構成する方法について説明します。
このチュートリアルでは、Talend Open Studio for Data Integrationバージョン6を使用します。
1. 新しいジョブを作成し、tMapコンポーネントを追加する
- 新しいジョブで、moviesメタデータファイルを区切り記号付き入力コンポーネントとして追加します。
- tMapコンポーネントを追加して、新しいフィルターを作成します。
- moviesコンポーネントからtMap_1コンポーネントへのデータフローを作成するため、2つのコンポーネントをリンクし、そのリンクの名前をmoviesに変更します。
2. 1990年以降に公開された映画のみを選択するためのフィルターを追加する
- 新しい出力を作成するには、tMap_1コンポーネントをダブルクリックし、tMapウィザードの出力セクションで[+]ボタンをクリックして、出力の名前をmoviesFromThe90sと指定します。
- 入力moviesからすべての列を選択して、出力moviesFromThe90sにドラッグアンドドロップします。
- 新しい条件ベースフィルターを作成するには、[Activate Expression Filter]をクリックします。
- フィルター条件を作成するには、[releaseYear]列をクリックして式フィルターフィールドにドロップし、>=1990と入力します。
3. 結果をファイルに保存する
- tFileOutputXMLコンポーネントをジョブに追加します。
- [Row] > [moviesFromThe90s]出力をtFileOutputXML_1コンポーネントにリンクします。tFileOutputXML_1コンポーネントの名前をmovies>=1990に変更します。
- movies>=1990コンポーネントを構成するには、コンポーネントの[Component]ビューで出力ファイルのパスと名前を指定します。
- ルートドキュメントの名前を変更するには、[Row tag]フィールドに“movies”と入力してジョブを実行します。
- moviesFromThe90s.xmlファイルをチェックするには、ファイルが作成されたフォルダーに移動してファイルを開きます。1990年以降に公開された映画のリストを含むファイルが表示されます。
4. 2つの条件を使用して2番目のフィルターを作成する
- 80年代の映画のみをフィルタリングする2番目のフィルターを作成します。
条件フィルターは、Javaの構文規則に従います。Javaの&&演算子(AND)を使用することで、簡単に二重条件を作成できます。 - ジョブを実行します。
1980年から1989年までの間に公開された映画のリストを含むファイルが表示されます。
5. フィルター拒否出力を作成する
- 3番目のフィルターを作成するには、tMap_1インターフェイスでmoviesBefore80sという名前の別の出力を追加し、入力moviesのすべての列を追加します。
- フィルターの拒否出力を作成するには、tMap設定をクリックします。
- [Catch output reject]プロパティの値フィールドにある[…]をクリックして、[true]をクリックします。これにより、他の2つの条件のどちらにも一致しないすべてのデータ行が収集されます。
- movies<1980という名前でtFileOutputXMLコンポーネントを追加し、tMap_1からmoviesBefore80s行へとリンクします。
- movies<1980コンポーネントを構成するには、[Component]ビューで出力ファイルのパスと名前を指定します。
- ジョブを実行します。
- filterRejects.xmlファイルをチェックするには、ファイルが作成されたフォルダーに移動してファイルを開きます。
1980年より前に公開された映画のリストを含むファイルが表示されます。