マップでglobalMap変数を定義 - 8.0

Talend Data Mapperファンクションリファレンスガイド

Version
8.0
Language
日本語
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > ジョブデザイン
Last publication date
2023-11-06

ジョブを作成し、APIからデータを抽出して、globalMap変数に保管します。

手順

  1. Integrationパースペクティブで[Job Designs] (ジョブデザイン)ノードを右クリックし、[Create Standard Job] (標準ジョブを作成) をクリックします。
  2. ジョブの名前、目的、説明を入力して[Finish] (終了)をクリックします。
  3. 次のコンポーネントをデザインワークスペースに追加し、[Row] (行) > [Main] (メイン)接続にリンクさせます。
    • tHttpRequest
    • tHMap
    • tLogRow
    ジョブは次のようになります。
  4. tHttpRequestコンポーネントをダブルクリックして、以下のように設定します:
    パラメーター
    URI "https://www.swapi.tech/api/people?page=1&limit=10"
    Method GET
  5. tLogRowコンポーネントをダブルクリックして、[Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックします。
  6. 以下のカラムを入力に追加して、それらを出力にコピーしてから、[OK]をクリックします。
    カラム タイプ
    pages 整数
    results 整数
  7. tHMapコンポーネントをダブルクリックして、マップを生成します。
    1. 1番目のステップでは、[Select an existing hierarchical mapper structure] (既存の階層マッパーストラクチャーを選択)を選択して、[Next] (次へ)をクリックしてから、APIから作成したストラクチャーを選択します。
    2. 2番目のステップでは、デフォルトオプションのままにしておき、[Next] (次へ)をクリックしてから、[FInish] (終了)をクリックします。
    マップが作成され、定義できるようになります。
  8. 出力rowエレメントをクリックして、その[Loop] (ループ)タブにFixedLoopファンクションをドラッグします。
  9. 入力total_recordsエレメントを出力resultsエレメントに、入力total_pagesエレメントを出力pagesエレメントにドラッグします。
  10. 出力rootエレメントをクリックして、[Util]タブを開いてから、その中にPutValueToExternalMapファンクションをドラッグ&ドロップします。
  11. Key引数にConstantファンクションをドラッグ&ドロップして、それをダブルクリックして、変数の名前(たとえば、total.pages)を定義します。
  12. Value引数にXPathFunctionファンクションをドラッグ&ドロップし、ダブルクリックして、[Functions/Arguments] (ファンクション/引数)フィールドにxs:integer(%v)と入力します。
    この例では、作成される変数は整数である必要がありますが、PutValueToExternalMapはデフォルトでStringを生成します。変数を整数として使うには、XPathFunctionファンクションを追加してBigIntegerとして定義します。
  13. XPathFunctionに入力のtotal_pagesエレメントをドラッグ&ドロップします。
  14. マップを保存します。

タスクの結果

ジョブの最初の部分が設定されており、それを実行して結果をチェックできます。次のステップでは、変数を別のコンポーネントで使います。