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

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

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

パイプラインに、パイプラインのソースとしてコンテキスト変数を持つHTTPクライアントデータセット、Filterプロセッサー、パイプラインのデスティネーションとしてコンテキスト変数を持つBigQueryデータセットが示されています。

始める前に

  • ソースデータを保存するシステムへの接続(ここではHTTPクライアント接続)が作成されていること。

    接続の基本URLは、https://datausa.io/です。

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

    ここでは、人口統計が含まれている米国の公共データが対象です。

    HTTPクライアントデータセットのプロパティは次のとおりです。
    • HTTPメソッド: GET
    • パス: /api/data
    • クエリーパラメーター: 名前: drilldowns 値: Nation、名前: measures 値: Population
    • レスポンスボディ形式: JSON
    • レスポンスのサブ部分を抽出: .data
    • 返されたコンテンツ: ボディ
  • また、デスティネーション接続(ここではGoogle BigQuery接続とNation_statisticsという名前のBigQueryデータセット)が作成されていること。このBigQueryテーブルは実行時に作成され、年ごとの米国の統計が含まれます。

手順

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

    Filter US population stats on year >=2015
  3. [ADD SOURCE] (ソースを追加)をクリックしてパネルを開きます。このパネルで、ソースデータ(ここではget US stats)を選択できます。
  4. データセットを選択し、[Select] (選択)をクリックしてパイプラインに追加できるようにします。
    必要であれば名前を変更します。
  5. +をクリックし、パイプラインにFilterプロセッサーを追加します。[Configuration] (設定)パネルが開きます。
  6. プロセッサーに、意味のある名前(filter on year >= 2015など)を付けます。
  7. [Filter] (フィルター)エリアで次の操作を行います。
    1. データが収集された年に対応するレコードをフィルタリングする場合は、[Input] (入力)エリアで.ID_Yearを選択します。
    2. 2015年以降に収集された統計をフィルタリングする場合は、[Optionally select a function to apply] (適用するファンクションをオプションとして選択)リストでNoteを、[Operator] (オペレーター)リストで>=を選択し、[Value] (値)リストに2015と入力します。
  8. [Save] (保存)をクリックして設定を保存します。

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

    プレビューパネルには、フィルタリング操作前の入力データと、フィルタリング操作後の出力データが表示されます。
  9. パイプラインの[ADD DESTINATION] (デスティネーションを追加)項目をクリックしてパネルを開くと、フィルタリングされたデータを保持するBigQueryテーブルを選択できます。
  10. Nation_statisticsテーブルを作成し、実行時にデータを挿入する場合は、デスティネーションに意味のある名前(Nation stats tableなど)を付け、[Table operation] (テーブル操作)リストで[Create table if not exists] (テーブルが存在しない場合は作成)を選択します。
  11. (オプション)この段階でパイプラインを実行すると、フィルタリングされたレコードが定義済みフィルターに従って渡されたことがログに表示され、Google BigQueryアカウントに作成された新しいNation_statisticsテーブルが表示されます。この新しいテーブルには、米国で収集された統計でフィルタリングされた6つのレコードが含まれています。
    ランタイムで作成されたNation_statisticsという名前のBigQueryテーブルに、米国の統計に関連する6つのレコードがすべて表示されます。
  12. US data - statsソースの[Dataset] (データセット)テーブルに戻り、変数を追加して割り当てます。
    HTTPクライアントソースの[Configuration] (設定)パネルで、コンテキスト変数を追加できるXアイコンがNationという値の横で強調表示されます。
    1. [Query parameters] (クエリーパラメーター)で、drilldowns[Value] (値)パラメーターの横にある[Context variable] (コンテキスト変数)アイコンをクリックし、[Add variable] (変数を追加)ウィンドウを開きます。
    2. 変数に名前(State statisticsなど)を付けます。
    3. 取得するデフォルトリソースを上書きする変数値(ここではState)を入力します。
    4. 必要であれば説明を入力し、[Add] (追加)をクリックします。
    5. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      変数とその値は、HTTPクライアントデータセットのdrilldownsクエリーパラメーターに割り当てられます。つまり、以前に定義したNationパラメーター値がStateパラメーター値によって上書きされます。年ごとの国家統計を取得する代わりに、年ごとの州統計を取得します。
    6. [Save] (保存)をクリックして設定を保存します。
  13. 次にNation stats tableデスティネーションの[Dataset] (データセット)タブに移動し、変数を追加して割り当てます。
    BigQueryデスティネーションの[Configuration] (設定)パネルで、コンテキスト変数を追加できるXアイコンがNation_statisticsという値の横で強調表示されます。
    1. [Table name] (テーブル名)パラメーターの横にある[Context variable] (コンテキスト変数)アイコンをクリックし、[Add a variable] (変数を追加)ウィンドウを開きます。
    2. 変数に名前(State_tableなど)を付けます。
    3. デフォルトテーブル(ここではState_statistics)を上書きする変数値を入力します。
    4. 必要であれば説明を入力し、[Add] (追加)をクリックします。
    5. これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
      [Assign a variable] (変数を割り当て)ウィンドウで、新しい変数が選択され、[Assign] (割り当て)ボタンが有効になります。
      変数とその値は、BigQueryデータセットの[Table name] (テーブル名)パラメーターに割り当てられます。つまり、以前に定義したNationテーブル名がStateテーブルによって上書きされます。Nationテーブルにデータを挿入する代わりに、Stateテーブルにデータが挿入されます。
    6. [Save] (保存)をクリックして設定を保存します。
  14. Talend Cloud Pipeline Designerの上部ツールバーで[Run] (実行)ボタンをクリックするとパネルが開き、実行プロファイルを選択できるようになります。
  15. リストで実行プロファイルを選択し(詳細は実行プロファイルをご覧ください)、[Run] (実行)をクリックしてパイプラインを実行します。

タスクの結果

パイプラインは実行中となり、データはフィルタリングされ、ソースデータセットとデスティネーションデータセットに割り当てたコンテキスト変数に対応します。
  • パイプライン実行ログには、実行時に米国のデータを取得してBigQueryにStateテーブルを作成するために使用したコンテキスト変数が表示されます。312件のレコードが新しいテーブルに挿入されます。
    [Logs] (ログ)パネルには、312レコードが生成されたこと、およびBigQueryでUS Stateのデータを取得しStateテーブルを作成するために使われたコンテキスト変数がランタイムで適用されたことが示されています。
  • Google BigQueryアカウントには、新しく作成され、フィルタリング済みのデータ(2015年以降に収集された米国のデータのみ)が入力されたState_statisticsテーブルが表示されます。
    ランタイムで作成されたState_statisticsという名前のBigQueryテーブルに、州の統計に関連するレコードがすべて表示されます。

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

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