コンテキスト変数を使って実行時に異なるデータセットを使用 - Cloud

Talend Cloud Pipeline Designerユーザーガイド

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend Pipeline Designer
task
ジョブデザインと開発 > パイプラインのデザイン
デプロイメント > デプロイ中 > パイプラインの実行
データガバナンス > データのフィルタリング
データクオリティとプレパレーション > データのフィルタリング
データクオリティとプレパレーション > データセットの管理
管理と監視 > ログの監視
管理と監視 > 実行の監視

このシナリオでは、実行時にソースと宛先として使用される両方のデータセットをオーバーライドするためにコンテキスト変数が追加されます。

始める前に

  • ソースデータを保存するシステムへの接続が作成されていること。ここではREST接続を使用します。

    接続の基本URLは、https://api.covid19api.comです。

  • ソースデータを保管するデータセットが追加済みであること。

    これは、国情報、確認済みの死亡者数、回復事例数、その他を含む新型コロナ患者の国別の日ごとの合計数に関するデータです。

    RESTデータセットプロパティは次のとおりです。
    • リソース: /total/country/germany
    • HTTPメソッド: GET
    • 回答ボディの形式: JSON
  • また、宛先の接続が作成されていること。ここではGoogle BigQuery接続と、Germanyという名前のBigQueryデータセットです。このBigQueryテーブルは実行時に作成され、国別の日ごとのレポートを含みます。

手順

  1. [Pipelines] (パイプライン)ページで[ADD PIPELINE] (パイプラインの追加)をクリックします。新しいパイプラインが開きます。
  2. パイプラインに意味のある名前を付けます。

    例え

    Filter Covid data on recovered cases per country
  3. [ADD SOURCE] (ソースの追加)をクリックすると、ソースデータ(ここでは [covid country data] (新型コロナの国データ))を選択できるパネルが開きます。
  4. データセットを選択し、[SELECT] (選択)をクリックしてパイプラインに追加します。
    必要であれば名前を変更します。
  5. をクリックして、パイプラインに[Filter] (フィルター)プロセッサーを追加します。[Configuration] (設定)パネルが開きます。
  6. プロセッサーに、意味のある名前(filter on recovered casesなど)を付けます。
  7. [Filter] (フィルター)エリアで次の操作を行います。
    1. 病気が治癒した人数に応じてレコードをフィルタリングする場合は、[Input] (入力)エリアで.Recoveredを選択します。
    2. [Optionally select a function to apply] (適用する機能をオプションとして選択)リストから[NONE] (なし)を選択し、[Operator] (演算子)リストから>を選択して、1件以上の回復事例があるドイツの新型コロナ患者でフィルタリングするため、[Value] (値)リストに0と入力します。
  8. [Save] (保存)をクリックして設定を保存します。

    レコードがフィルタリングされ、定義した基準を満たしているレコードは28件のみであることがわかります。サンプルに表示された50レコードのみがフィルタリングされ、実行時にはより多くのレコードが処理されます。

  9. パイプラインの[ADD DESTINATION] (デスティネーションの追加)アイテムをクリックしてパネルを開くと、フィルタリングされたデータを保持するドイツのBigQueryテーブルを選択できます。
  10. デスティネーションにたとえばdaily reportのような意味のある名前を付け、Germanyテーブルを作成し、実行時にデータを挿入するため、[Table operation] (テーブル操作)リストで[Create table if not exists] (存在しない場合はテーブルを作成)を選択します。
  11. (オプション)この段階でパイプラインを実行すると、フィルタリングされたレコードが定義済みフィルターに従って渡されたことがログに表示され、Google BigQueryアカウントに作成された新しいGermanyテーブルが表示されます。この新しいテーブルには、ドイツで収集された回復事例を含むフィルタリング済みのデータが含まれています。
  12. [covid country data] (新型コロナの国データ)ソースの[Dataset] (データセット)テーブルに戻り、変数を追加して割り当てます。
    1. [Resource] (リソース)パラメーターの横にあるアイコンをクリックし、[Add a variable] (変数の追加)ウィンドウを開きます。
    2. 変数に名前(France dataなど)を付けます。
    3. 取得するデフォルトリソースを上書きする変数値を入力します。ここでは/total/country/franceです。
    4. 必要であれば説明を入力し、[ADD] (追加)をクリックします。
    5. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      変数とその値は、RESTデータセットの[Resources] (リソース)パラメーターに割り当てられます。つまり、以前に定義した/total/country/germanyリソースが/total/country/franceリソースによって上書きされます。ドイツの新型コロナデータが取得される代わりに、フランスのデータが取得されます。
    6. [Save] (保存)をクリックして設定を保存します。
  13. 次に[daily report] (日次レポート)デスティネーションのDatasetタブに移動し、、変数を追加して割り当てます。
    1. [Table name] (テーブル名)パラメーターの横にあるアイコンをクリックし、[Add a variable] (変数の追加)ウィンドウを開きます。
    2. 変数に名前(France tableなど)を付けます。
    3. デフォルトテーブル(ここではFrance)を上書きする変数値を入力します。
    4. 必要であれば説明を入力し、[ADD] (追加)をクリックします。
    5. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      変数とその値は、BigQueryデータセットの[Table name] (テーブル名)パラメーターに割り当てられます。つまり、以前に定義したGermanyリソースがFranceテーブルによって上書きされます。データはGermanyテーブルに挿入される代わりに、Franceテーブルに挿入されます。
    6. [Save] (保存)をクリックして設定を保存します。
  14. Talend Cloud Pipeline Designerの上部のツールバーで、リストから実行プロファイルを選択します(詳細は実行プロファイルを参照してください)。
  15. 実行アイコンをクリックしてパイプラインを実行します。

タスクの結果

パイプラインは実行中となり、データはフィルタリングされ、ソースデータセットとデスティネーションデータセットに割り当てたコンテキスト変数に対応します。
  • パイプライン実行ログには、実行時にフランスのRESTリソースを取得してBigQuery上にFranceテーブルを作成するために使用したコンテキスト変数が表示されます。
  • Google BigQueryアカウントには、新しく作成され、フィルタリング済みのデータ(フランスで収集された回復事例のみ)が入力されたFranceテーブルが表示されます。