見出し画像

Airbyteを使って、HubspotのデータをBigQueryに流し込んでみた

背景

と紹介されており気になってました。
「へーーーー」知らないツールだ…と思い、調べて見ると…数多くのコネクターが提供されている素敵なツール!

「Tableau Prepのコネクター提供されていないHubspot やStripeもBigQueryにデータを送り込みたい」
という直近ニーズと合致しました。
そして検証した結果、そこまで時間を掛けずに実装できました。

ただ、日本語ドキュメントが少ない範囲なので備忘録兼ねてnoteに書きます。

環境

Windows11、16GB、Git&Docker Desktopは既にインストール済み

Airbyte

AirbyteはOSS TypeのELTツールです。Local実行ならば転送費用もかかりません。早速手元でAirbyteのサーバーを立ち上げます。

上記の手順に従います、
※注意…下記コードはドキュメントが更新に伴い、古くなるケースがあります。ご容赦ください。

git clone https://github.com/airbytehq/airbyte.git

まずはGit Cloneです。Airbyteの環境をCloneできました。

cd airbyte

上記のフォルダに移動しましょう

docker-compose up

Gitにあるdockerを実行しましょう。ちなみにdocker-composeのyamlファイルの中身は非常に膨大でした…本当にいい時代ですね…

実行後Containerでは多くのairbyteの環境が動いています。
ここまで成功していれば、

http://localhost:8000/
にアクセスするとこのようなAirbyteの画面に移動することになるかと思います。

すごい…ちなみに左側のアイコンは下記のような意味です。

わかりやすいですね。
そしてここからは基本シンプル

New Sourceでは、どのサービスと接続するかを選びます。
New Destinationでは、どのサービスにアウトプットするかを選びます。

その後、どの程度Hubspot からBigQueryにデータを更新するか。またどのテーブルを対象とするかを選択できます。

そしてLaunchを押すと実行できます。(成功するとチェックマーク、失敗していると✕マークがついています…Mailchimpなぜだ…)
これで転送は完了です…!なんてシンプルなんでしょう。

実際にHubspot のデータがBigQueryに転送された様子

ちなみにHubspotの場合は、APIコールの結果は、Json側で書き出されます。
最近はBigQueryのネイティブJSON型がサポートされたという話題もありますが、あくまでPublic Preview…なくなく今回は、Json extractを利用して、データを抽出します。

Jsonの文字列取得は下記が参考になりました。

WITH tmp AS (
SELECT properties as json from `XXXXXX`)

SELECT
    JSON_EXTRACT(json, '$.hubspot_owner_assigneddate') AS hubspot_owner_assigneddate,
    JSON_EXTRACT(json, '$.email') AS email,
FROM tmp


無事に取得できました!

所管

非常にシンプル過ぎてびっくりしました…GCE上でDeployすれば、驚くほどに安価なデータ転送が実現できる気がします。
またOSSではなく、Airbyte Cloudという形でサービスも展開しているようです(早速Trialを申し込みました!)
サーバーメンテナンス考えずに実装できる気軽さもあるならば非常に楽しみなツールです…!


この記事が気に入ったらサポートをしてみませんか?