コンテキスト変数を使って実行時に異なるデータをフィルタリング - Cloud

Talend Cloud Pipeline Designerユーザーガイド

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

このシナリオでは、コンテキスト変数を追加し、実行時におけるユーザーデータのフィルタリングに使われる値が上書きされるようにします。

始める前に

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

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

    ここでは、ユーザー情報(名前、会社、メール、口座残高など)に関するデータを使います。詳細は、テストデータセットの作成を参照してください。

  • また、ログ出力を保存するデスティネーションのテストデータセットも作成されていること。

手順

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

    例え

    コンテキスト変数を使ったユーザー データのフィルタリング
  3. [ADD SOURCE] (ソースの追加)をクリックすると、ソースデータ(ここではユーザーデータ)を選択できるパネルが開きます。
  4. データセットを選択し、[SELECT] (選択)をクリックしてパイプラインに追加します。
    必要であれば名前を変更します。
  5. をクリックし、パイプラインに[Filter] (フィルター)プロセッサーを追加します。[Configuration] (設定)パネルが開きます。
  6. プロセッサーに、意味のある名前(filter on balances >= $3,000など)を付けます。
  7. [Filter] (フィルター)エリアで次の操作を行います。
    1. ユーザーの口座残高に応じてレコードをフィルタリングする場合は、[Input] (入力)エリアで[.balance]を選択します。
    2. 口座残高が3,000ドル以上のユーザーをフィルタリングする場合は、[Optionally select a function to apply] (適用する機能をオプションとして選択)リストから[NONE] (なし)を選択し、[Operator] (オペレーター)リストから[>=]を選択して、[Value] (値)リストに[$3,000]と入力します。
  8. [Save] (保存)をクリックして設定を保存します。

    レコードがフィルタリングされ、定義した基準を満たしているレコードは4つのみであることがわかります。

  9. パイプラインの[ADD DESTINATION] (デスティネーションの追加)アイテムをクリックしてパネルを開くと、フィルタリングされたデータを保持するデータセットを選択できます。
  10. デスティネーションに、意味のある名前(log outputなど)を付けます。
  11. デスティネーションデータセットの[Configuration] (設定)タブで[Log records to STDOUT] (レコードをSTDOUTに記録)オプションを有効にし、パイプライン実行ログの読み取りレコードを印刷します。
  12. (オプション)この段階でパイプラインを実行すると、データプレビューで確認した4つのレコードが定義済みフィルターに従って渡されたことがログに表示されます。
  13. [Filter] (フィルター)プロセッサーの[Configuration] (設定)タブに戻り、変数の追加と割り当てを行います。
    1. [Value] (値)フィールドの横にあるアイコンをクリックし、[Add a variable] (変数の追加)ウィンドウを開きます。
    2. 変数に名前(balance_amountなど)を付けます。
    3. デフォルト値(ここでは$1,000)を上書きする変数値を入力します。
    4. 必要であれば説明を入力し、[ADD] (追加)をクリックします。
    5. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      自分の変数とその値がフィルターの[Value] (値)フィールドに割り当てられるので、前に定義した$3,000という値が$1,000という値に上書きされます。
    6. [Save] (保存)をクリックして設定を保存します。
  14. Talend Cloud Pipeline Designerの上部のツールバーで、リストから実行プロファイルを選択します(詳細は実行プロファイルを参照してください)。
  15. 実行アイコンをクリックしてパイプラインを実行します。

タスクの結果

パイプラインは実行中となり、データはフィルタリング値に割り当てたコンテキスト変数に従ってフィルタリングされます。パイプラインの実行ログは次のようになります。
  • 実行時に使用されたコンテキスト変数の値
  • 生成されたレコードの数(この場合は7つで、これは口座残高が1,000ドル以上であるユーザーレコードが7つ存在することを意味します)