[Reload at each row] (行ごとにリロード) - 7.3

Talend Big Data Platform Studio ユーザーガイド

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発

このタスクについて

[Reload at each row] (行ごとにリロード)オプションは、メインフローのレコードごとにルックアップフローの全レコードをロードする場合に使用します。

メインフローの行がルックアップフローよりもはるかに少なく(たとえば、比率が1000以上)、ルックアップ入力がデータベースコンポーネントである場合、このアプローチの利点は、ルックアップデータの量が時間の経過と共に増えるという問題への対処に役立つことにあります。データベースコンポーネント内のメインフローからのデータに対してクエリーを実行し、メインフロー内の各レコードに該当するルックアップデータのみを選択できるためです。たとえば以下の例では、MySQLデータベースからのルックアップデータを使用しています。

メインフロー、ルックアップフロー、および出力フローのスキーマは次のように表されます。

MySQLデータベースからメインフローの[id] (ID)カラムの値に一致するデータのみを選択できます。これを行うには、次の手順に従います。

手順

  1. tMysqlInputをダブルクリックして、[Component] (コンポーネント)ビューを開きます。
  2. [Query] (クエリー)フィールドに、メインフローの[id] (ID)カラムに一致するデータを選択するクエリーを入力します。このサンプルでは、このクエリーは次のようになります: Select * from person where id="+(Integer)globalMap.get("id")

タスクの結果

この例で使用したコンポーネントの詳細は、関連ドキュメンテーションを参照してください。