このシナリオでは、実行時にソースと宛先として使用される両方のデータセットをオーバーライドするためにコンテキスト変数が追加されます。
始める前に
-
ソースデータを保存するシステムへの接続(ここではHTTPクライアント接続)が作成されていること。
接続の基本URLは、https://datausa.io/です。
-
ソースデータを保管するデータセットが追加済みであること。
ここでは、人口統計が含まれている米国の公共データが対象です。
HTTPクライアントデータセットのプロパティは次のとおりです。
- HTTPメソッド: GET
- パス: /api/data
- クエリーパラメーター: 名前: drilldowns 値: Nation、名前: measures 値: Population
- レスポンスボディ形式: JSON
- レスポンスのサブ部分を抽出: .data
- 返されたコンテンツ: ボディ
- また、デスティネーション接続(ここではGoogle BigQuery接続とNation_statisticsという名前のBigQueryデータセット)が作成されていること。このBigQueryテーブルは実行時に作成され、年ごとの米国の統計が含まれます。
手順
-
[Pipelines] (パイプライン)ページで[Add pipeline] (パイプラインを追加)をクリックします。新しいパイプラインが開きます。
-
パイプラインに意味のある名前を付けます。
例
Filter US population stats on year >=2015
-
[ADD SOURCE] (ソースを追加)をクリックしてパネルを開きます。このパネルで、ソースデータ(ここではget US stats)を選択できます。
-
データセットを選択し、[Select] (選択)をクリックしてパイプラインに追加できるようにします。
必要であれば名前を変更します。
-
をクリックし、パイプラインにFilterプロセッサーを追加します。[Configuration] (設定)パネルが開きます。
-
プロセッサーに、意味のある名前(filter on year >= 2015など)を付けます。
-
[Filter] (フィルター)エリアで次の操作を行います。
-
データが収集された年に対応するレコードをフィルタリングする場合は、[Input] (入力)エリアで.ID_Yearを選択します。
-
2015年以降に収集された統計をフィルタリングする場合は、[Optionally select a function to apply] (適用するファンクションをオプションとして選択)リストでNoteを、[Operator] (オペレーター)リストで>=を選択し、[Value] (値)リストに2015と入力します。
-
[Save] (保存)をクリックして設定を保存します。
レコードがフィルタリングされ、定義した基準を満たしているレコードは6件であることがわかります。
-
パイプラインの[ADD DESTINATION] (デスティネーションを追加)項目をクリックしてパネルを開くと、フィルタリングされたデータを保持するBigQueryテーブルを選択できます。
-
Nation_statisticsテーブルを作成し、実行時にデータを挿入する場合は、デスティネーションに意味のある名前(Nation stats tableなど)を付け、[Table operation] (テーブル操作)リストで[Create table if not exists] (テーブルが存在しない場合は作成)を選択します。
-
(オプション)この段階でパイプラインを実行すると、フィルタリングされたレコードが定義済みフィルターに従って渡されたことがログに表示され、Google BigQueryアカウントに作成された新しいNation_statisticsテーブルが表示されます。この新しいテーブルには、米国で収集された統計でフィルタリングされた6つのレコードが含まれています。
-
US data - statsソースの[Dataset] (データセット)テーブルに戻り、変数を追加して割り当てます。
-
[Query parameters] (クエリーパラメーター)で、drilldownsの[Value] (値)パラメーターの横にあるアイコンをクリックし、[Add variable] (変数を追加)ウィンドウを開きます。
-
変数に名前(State statisticsなど)を付けます。
-
取得するデフォルトリソースを上書きする変数値(ここではState)を入力します。
-
必要であれば説明を入力し、[Add] (追加)をクリックします。
-
これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
変数とその値は、HTTPクライアントデータセットのdrilldownsクエリーパラメーターに割り当てられます。つまり、以前に定義したNationパラメーター値がStateパラメーター値によって上書きされます。年ごとの国家統計を取得する代わりに、年ごとの州統計を取得します。
-
[Save] (保存)をクリックして設定を保存します。
-
次にNation stats tableデスティネーションの[Dataset] (データセット)タブに移動し、変数を追加して割り当てます。
-
[Table name] (テーブル名)パラメーターの横にあるアイコンをクリックし、[Add a variable] (変数を追加)ウィンドウを開きます。
-
変数に名前(State_tableなど)を付けます。
-
デフォルトテーブル(ここではState_statistics)を上書きする変数値を入力します。
-
必要であれば説明を入力し、[Add] (追加)をクリックします。
-
これで変数が作成されます。リダイレクト先の[Assign a variable]ウィンドウに全コンテキスト変数がリスト表示されます。ユーザーを選択して[Assign] (割り当て)をクリックします。
変数とその値は、BigQueryデータセットの
[Table name] (テーブル名)パラメーターに割り当てられます。つまり、以前に定義した
Nationテーブル名が
Stateテーブルによって上書きされます。
Nationテーブルにデータを挿入する代わりに、
Stateテーブルにデータが挿入されます。
-
[Save] (保存)をクリックして設定を保存します。
-
Talend Cloud Pipeline Designerの上部ツールバーで[Run] (実行)ボタンをクリックするとパネルが開き、実行プロファイルを選択できるようになります。
-
リストで実行プロファイルを選択し(詳細は実行プロファイルをご覧ください)、[Run] (実行)をクリックしてパイプラインを実行します。
タスクの結果
パイプラインは実行中となり、データはフィルタリングされ、ソースデータセットとデスティネーションデータセットに割り当てたコンテキスト変数に対応します。
- パイプライン実行ログには、実行時に米国のデータを取得してBigQueryにStateテーブルを作成するために使用したコンテキスト変数が表示されます。312件のレコードが新しいテーブルに挿入されます。
- Google BigQueryアカウントには、新しく作成され、フィルタリング済みのデータ(2015年以降に収集された米国のデータのみ)が入力されたState_statisticsテーブルが表示されます。