Links

REST APIで取得したデータソースをBigQueryへSinkさせる

REST APIを使用してHPPTサーバから取得したデータをBigQueryへデータを転送します。

全体図

ワークフロー概要

  1. 1.
    HTTPのSourceを追加
  2. 2.
    Transformの投影を使用してフィールド名を変換、抽出するフィールドの選択
  3. 3.
    転送先にBigQueryを指定して、データを転送

事前準備

BigQueryテーブルの作成と使用などを参考にBIgQueryで空テーブルを作成します。 Cloud Storage ストレージ バケットの作成 などを参考にCloud Storage バケットを作成します。
転送先のBigQueryのテーブル、S3からのデータを一時保存するためのCloud Storageのバケットがすでに存在する場合は不要です。

Source詳細

HTTP

次のように設定します。
設定完了後、「プレビュー」をクリックして実行後のプレビューが確認できます。設定に不備がない場合Completedと表示されます。
プレビューで実行結果を確認後、問題なければ「設定」を選択して完了します。
Source「HTTP」の詳しい説明は以下ドキュメントをご確認ください。

Transform詳細

投影

BigQueryではフィールド名に日本語が使えないため、投影という機能を使って日本語フィールドを英語フィールドに変換する処理を行います。また必要なフィールドのみの抽出も併せて行います。
Source詳細で作成したHTTPと投影をデータパイプラインで連携します。
HTTPで作成した情報が引き継がれるので次のように設定します。
  • モード: 抽出
  • 抽出するフィールド: ["業種一覧", "時間軸(年次)", "unit","value"]
  • フィールド名置き換え : 変更前フィールド名 ["業種一覧", "時間軸(年次)"]
    変更後フィールド名 ["industry", "year"]
設定完了後、「プレビュー」をクリックして実行後のプレビューが確認できます。設定に不備がない場合Completedと表示されます。
プレビューで実行結果を確認後、問題なければ「設定」を選択して完了します。
Transform「投影」の詳しい説明は以下ドキュメントをご確認ください。

Sink詳細

Google BigQuery

Transform詳細で作成した投影とGoogle BigQueryをデータパイプラインで連携します。
投影で作成した情報が引き継がれるので次のように設定します。
プロジェクトID、テーブル、バケットに事前準備で作成したプロジェクトID、テーブル名、バケット名を入力します。
設定完了後、「プレビュー」をクリックして実行後のプレビューが確認できます。設定に不備がない場合Completedと表示されます。
プレビューで実行結果を確認後、問題なければ「設定」を選択して完了します。
Sink「Google BigQuery」の詳しい説明は以下ドキュメントをご確認ください。

ワークフローの実行

「名前」と「説明」を入力して「保存」を選択。
「実行」を選択します。
ジョブが問題なく完了すると「成功」となります。

BigQuery上で確認

下記のようにBigQuery上のtableにCSVファイルのデータが登録されていることが確認できれば完了です。