親ジョブのセットアップ - 7.3

System (システム)

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > システムコンポーネント
データガバナンス > サードパーティーシステム > システムコンポーネント
データクオリティとプレパレーション > サードパーティーシステム > システムコンポーネント

手順

  1. ParentJobという名前の新しいジョブを作成し、tFileInputDelimitedコンポーネント、tFlowToIterateコンポーネント、tRunJob、2つのtJavaコンポーネントを追加します。
  2. [Row[ (行) > [Main] (メイン)接続を使ってtFileInputDelimitedコンポーネントをtFlowToIterateコンポーネントに、[Row] (行) > [Iterate] (反復処理)接続を使ってtFlowToIterateコンポーネントを2番目のtJavaコンポーネントに、[Trigger] (トリガー) > [Run if] (条件付き実行)接続を使って2番目のtJavaコンポーネントを最初のtJavaコンポーネントに、[Trigger] (トリガー) > [Run if] (条件付き実行)接続を使って2番目のtJavaコンポーネントをtRunJobコンポーネントに接続します。
  3. tFileInputDelimitedコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
    • [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックし、ポップアップダイアログボックスで、文字列型のカラムJob_Nameとブール型のカラムExecuteを追加して、入力データのスキーマを定義します。完了したら、[OK]をクリックしてダイアログボックスを閉じます。
    • [File name/Stream] (ファイル名/ストリーム)フレームの横にある[...]ボタンをクリックし、ファイルFile_For_Execute.txtがあるフォルダーに移動し、ファイルを選択します。
    • ファイルFile_For_Execute.txtにあるフィールドを区切るために使う文字を[Field Separator] (フィールド区切り記号)入力します(この例では",")。
    • [Header] (ヘッダー)フィールドを1に設定します。
  4. 2つのtJavaコンポーネント間の接続を選択します。[Component] (コンポーネント)ビューの[Condition] (条件)フィールドに次のように入力して、リジェクトされたジョブをキャッチします。
    !((Boolean)globalMap.get("row1.Execute"))
  5. tJava_2コンポーネントとtRunJob_1コンポーネントの間の接続を選択します。[Component] (コンポーネント)ビューの[Condition] (条件)フィールドに次のように入力して、[Execute] (実行)フィールドがtrueのジョブの実行をトリガーします。
    ((Boolean)globalMap.get("row1.Execute"))
  6. tRunJobコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。
    • [Use dynamic job] (ダイナミックジョブの使用)チェックボックスをオンにして、表示された[Context job] (コンテキストジョブ)フィールドで[Ctrl] + [Space]を押し、tFlowToIterateコンポーネントによって作成された反復グローバル変数を変数のリストから選択します。この例ではtFlowToIterate_1.Job_Nameです。[Context job] (コンテキストジョブ)フィールドには((String)globalMap.get("row1.Job_Name"))が入力されます。各反復で、この変数は呼び出されるジョブの名前として解決されます。
    • [Job] (ジョブ)フィールドの横にある[...]ボタンをクリックし、実行するジョブを[Select Job] (ジョブの選択)ダイアログボックスですべて選択し、[OK]をクリックしてダイアログボックスを閉じます。この例では、ChildJob1からChildJob5までのすべてです。
  7. tJava_1コンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューを開きます。[Code] (コード)フィールドに次のように入力して、リジェクトされた子ジョブをログに記録します。
    System.out.println("----------------------------------");
    System.out.println("MESSAGE : " + ((String)globalMap.get("row1.Job_Name")) + " JOB hasn't been selected for execution ... ");
    System.out.println("----------------------------------");