tMapコンポーネントを使用したデータのフィルタリング

このチュートリアルでは、tMapコンポーネントとそのインターフェイスについて紹介し、それを使用してスキーマから列をフィルタリングする方法について説明します。

このチュートリアルでは、Talend Open Studio for Data Integrationバージョン6を使用します。

1. 新しいジョブを作成し、moviesメタデータを入力ソースとして追加し、tMapコンポーネントを追加する

  1. tMapFilterという名前の新しい標準ジョブを作成します。
  2. moviesメタデータファイルを区切り記号付き入力コンポーネントとして追加します。
  3. スキーマを変更して列をフィルタリングできるtMapコンポーネントを追加します。
  4. moviesコンポーネントからtMap_1コンポーネントへのデータフローを作成するため、2つのコンポーネントをリンクします。

2. 列をフィルタリングするためにtMap_1コンポーネントを構成する

  1. tMap_1コンポーネントをダブルクリックします。
    tMap_1のウィザードウィンドウには、4つのメインセクションが含まれます。

    - 左のセクションには入力データフローが表示されます。tMapコンポーネントには複数の入力が含まれることがあります。
    - 中央のセクションには、入力データフローと出力データフローの間のマッピングリンクが表示されます。ここでは、入力値を使用する変数も作成でき、それを使用して出力を作成できます。
    - 右のセクションには出力データフローが表示されます。
    - 下のセクションはスキーマエディターです。これを使用して、入力フローまたは出力フローのスキーマを変更できます。スキーマを編集するには、変更対象のスキーマを使用する入力/出力フローを選択し(選択したフローは黄色でハイライト表示されます)、スキーマエディターでそのスキーマを編集します。
    .
  2. 新しい出力コンポーネントを作成するには、tMap_1ウィザードの出力セクションで[+]ボタンをクリックし、出力の名前をfilteredOutputと入力し、[OK]をクリックします。空の出力が作成されます。
  3. 列を出力に追加するには、出力のスキーマエディターで[+]アイコンをクリックします。
  4. movieIDの列を定義します(Column:movieID、Type:Integer、Length:4)。
    注:出力列名は、入力列名と同じである必要はありません。列名を変更するには、スキーマエディターでエントリーを編集します。
  5. 入力ファイルの[movieID]列からのデータを出力列に送信するには、[movieID]をクリックしてホールドし、filteredOutputの[Expression]列にドラッグします。データフローを示す黄色の矢印が表示されます。
  6. [title]列と[releaseYear]列を出力コンポーネントに追加してリンクするには、入力コンポーネントから列を選択して出力コンポーネントにドラッグします。
  7. 出力コンポーネントの列の順序を変更するには、[↑]アイコンまたは[↓]アイコンをクリックします。列の順序と対応するリンクが更新されます。

3. 構成したtMap_1コンポーネントを使用する

  1. tMap_1コンポーネントにより処理された出力を表示するには、tLogRowコンポーネントをジョブデザイナーに追加し、tMap_1コンポーネントのfilteredOutput出力をtLogRow_1コンポーネントにリンクします。
  2. ジョブを実行するには、[Run]ビューで[Run]をクリックします。

フィルタリングされた映画データ(movieID、releaseYear、title)のみが表示されます。