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

Talend Cloud API Services Platform Studio ユーザーガイド

Version
Cloud
Language
日本語 (日本)
EnrichDitaval
API Services Platform
Product
Talend Cloud
Module
Talend Studio
Content
ジョブデザインと開発

このタスクについて

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

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

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

MySQLデータベースからメインフローのidカラムの値に一致するデータのみを選択できます。この操作は次の手順で行います。

手順

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

タスクの結果

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