メイン コンテンツをスキップする 補完的コンテンツへスキップ

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

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

'Filter user data with context variables'という名前のパイプラインに、パイプラインのソースとしてテストデータセット、コンテキスト変数を持つFilterプロセッサー、パイプラインのデスティネーションとして別のテストデータセットが示されています。

始める前に

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

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

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

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

手順

  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つのレコードが定義済みフィルターに従って渡されたことがログに表示されます。
    [Logs] (ログ)パネルに、パイプライン実行中に7つのレコードが読み取られ、4つのレコードが生成されたことが示されています。
  13. Filterプロセッサーの[Configuration] (設定)タブに戻り、変数の追加と割り当てを行います。
    Filterプロセッサーの設定パネルで、コンテキスト変数を追加できるXアイコンが強調表示されます。
    1. [Value] (値)フィールドの横にあるアイコンをクリックし、[Assign a variable] (変数を割り当て)ウィンドウを開きます。
    2. [Add variable] (変数を追加)をクリックします。
    3. 変数に名前(balance_amountなど)を付けます。
    4. デフォルト値(ここでは$1,000)を上書きする変数値を入力します。
    5. 必要であれば説明を入力し、[Add] (追加)をクリックします。
    6. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      [Assign a variable] (変数を割り当て)ウィンドウで、新しい変数が選択され、[Assign] (割り当て)ボタンが有効になります。
      自分の変数とその値がフィルターの[Value] (値)フィールドに割り当てられるので、前に定義した$3,000という値が$1,000という値に上書きされます。
    7. [Save] (保存)をクリックして設定を保存します。
  14. Talend Cloud Pipeline Designerの上部ツールバーで[Run] (実行)ボタンをクリックするとパネルが開き、実行プロファイルを選択できるようになります。
  15. リストで実行プロファイルを選択し(詳細は実行プロファイルをご覧ください)、[Run] (実行)をクリックしてパイプラインを実行します。

タスクの結果

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

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。