tJavaFlexおよびtJavaコンポーネントの設定 - 7.3

tMemorizeRows

EnrichVersion
Cloud
7.3
EnrichProdName
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
EnrichPlatform
Talend Studio
task
ジョブデザインと開発 > サードパーティーシステム > その他のコンポーネント > tMemorizeRows
データガバナンス > サードパーティーシステム > その他のコンポーネント > tMemorizeRows
データクオリティとプレパレーション > サードパーティーシステム > その他のコンポーネント > tMemorizeRows

手順

  1. tJavaFlexコンポーネントをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  2. [Start code] (開始コード)エリアで、初期化フェーズで呼び出すJavaコードを入力します。この例では、変数countを宣言して値0を代入するためにint count=0;を入力します。
  3. [Main code] (メインコード)エリアで、データフローの各行に適用するJavaコードを入力します。このシナリオでは、if(!age_tMemorizeRows_1[0].equals(age_tMemorizeRows_1[1])) { count++; } System.out.println(age_tMemorizeRows_1[0]);を入力します。このコードは、毎回tMemorizeRowsコンポーネントによって記憶された2つの年齢を比較し、年齢が異なるたびに1件の変更をカウントします。このコードは、tMemorizeRowsコンポーネントによってインデックスが設定された経過時間を0として表示します。tJavaFlexコンポーネントがtMemorizeRowsコンポーネントの同じフローにある場合、変数の形式はColumnName_ComponentName[index]になります。
  4. [End code] (終了コード)エリアで、終了フェーズ中に呼び出すJavaコードを入力します。この例では、count変数の値を使用してグローバル変数numberを初期化するためにglobalMap.put("number", count);と入力します。
  5. tJavaコンポーネントをダブルクリックし、[Component] (コンポーネント)タブの[Basic settings] (基本設定)ビューを開きます。
  6. [Code] (コード)エリアで、以下のコードを入力して顧客の異なる年齢の出現回数と最低年齢をコンソールに表示します:System.out.println("Different ages: "+globalMap.get("number")); System.out.println("Lowest age: " + ((Integer[])globalMap.get("tMemorizeRows_1_age"))[0]);
    tJavaによってメソッドglobalMap.get()が使用され、配列の値が取得されます。ここで、tJavaがサブジョブtMemorizeRowsの外で使用されているため、変数フォーマットはComponentName_ColumnNameにする必要があり、同じフローに配置されたコンポーネントによって使われる変数の形式とは異なることに注意してください。