コラム

2021.06.15

【API・データ検証奮闘記】#9.BigQueryからTreasureDataへデータ移行やってみた

本コラムでは、APIやデータに関連する言語などを無邪気に触ってみた備忘録として、ライトに記載していきます!
「ちょっと違くない」「他にいい方法あるのに」といったご意見もあるかと思いますが、何卒お手柔らかに!!

<プロフィール>
富松 良介
2017年、株式会社サイバー・コミュニケーションズ(CCI)入社。Oracle Bluekai・Treasure Data等のDMPや、AWS・GCP等のPublicCloud領域を担務。2019年6月よりデータの利活用を推進するコンサルティング会社「株式会社DataCurrent」に出向し、事業会社の基盤構築・運用や自社ソリューション開発を担当。

●BigQueryからTreasureDataへデータ移行やってみた

ボス
ボス
BigQueryのデータをTreasureDataに格納して欲しい。BigQueryのロケーションはasia-northeast1だ。
モブ
モブ
!?
かしこまり!!

BigQueryからTreasureDataへデータ移行の手順から格納した結果までをご紹介致します。

ステップ1. どうやってBigQueryからTreasureDataにデータ移行するか調査してみた

モブ1
モブ1
プログラムつくる!?
モブ2
モブ2
ツール契約する!?
意識高いモブ
意識高いモブ
BigQueryとの連携はリージョンも考慮しないとできないことがあるよね!
モブ
モブ
TreasureData Workflowで移行することにしよう!!
ボス
ボス
それでやってくれ。

●ステップ2. データ移行してみた

早速Workflowでデータを移行してみる。

BigQueryに格納している移行元データ

全てTreasureDataに格納する

timezone: Asia/Tokyo
_export:
  td:
    database: td_database
    table: td_table
+import_data:
  td_load>: import_bq_data.yml
  database: ${td.database}
  table: ${td.table}
in:
  type: bigquery
  project_id: your_project_id
  auth_method: json_key
  json_keyfile: 
    content: ${secret:gcp.credential}
  import_type: query
  query: |-
      select *
      FROM `your_project_id.your_dataset_id.your_table_id`
  location: asia-northeast1
  export_to_gcs: true
  temp_dataset: your_temp_dataset_id
  temp_table: your_temp_table_id
  gcs_bucket: your_temp_bucket_name
  gcs_path_prefix: your_filepath/your_file_prefix_
out:
  type: td
  mode: replace
exec: {}
filters:
- type: add_time
  to_column: {name: time}
  from_value: {mode: upload_time}

できた!!!

ステップ3. 取得結果

意識高いモブ
意識高いモブ
ちなみに、公式ドキュメントではbqオペレーターはUSロケーションのみサポートと記載されているので、US以外のロケーションはtd_loadオペレータで対応だ!

Limitation
This operator supports only US as location.
※2021年5月時点の情報

Treasure Data : Reference for Google Cloud Platform Operators

最後に

弊社では、ツール間のデータ連携や設定方法はもちろん、その他データの取り扱いに関する課題に対してトータルで支援しております。
お困りごとございましたら、お気軽にお問い合わせください。

本データに関するお問い合わせは下記にて承ります。
株式会社DataCurrent
info@datacurrent.co.jp