💬

Skyvia を使って BigQuery と Hubspot を連携させる

2023/05/01に公開

この記事を読んで分かること

BigQuery に溜まっているデータを Hubspot に連携させる方法

全体像

今回は MySQL に溜まっているプロダクトのデータを分析目的で BigQuery に転送していることを想定し、それを Skyvia を使って Hubspot に連携させるフローを作成する

Skyvia とは

Skyvia はチェコに本社を持つ ETL ツール。他のツールと同様に様々なツールを連携させて、データを加工したり転送したりすることができる。類似ツールとしては DataSpider や Trocco がある。

他のツールと比較すると数千円から使い始めることができ、非常に低価格で使用することができる。

料金プラン

Pricing について。料金プランはこの4つに分かれており、それぞれ個別に課金される。通常の ETL 目的であれば Data Integraion のみ使うのがお勧め

Product About Description
Data Integration データ連携 ETL としての使い方。データを読み込み、加工して、書き込む
Backup CSV によるデータ出力 S3 へのデータ出力など、単純な CSV Export で使う
Query クエリを発行するインターフェース Sequel, Workbench のようにクライアントとして使用できる
Connect

Connections

まずは使いたいアプリケーションを接続させる。上のメニューから NEW > Connection を選択し、アプリケーションを選択する。例えば BigQuery の場合、Google アカウントで Sign in して認証して、DataSet Id などを設定する。Extract, Load の対象をすべてここで接続する。

Integrations

次に接続したアプリを Integration から連携させる。ここでもいくつか選択肢があるが、NEW > INTEGRATION > Data Flow がお勧め。他にも CSV から Import / Export したり、データを完全に同期させる Synchronization があったりする。

Sources

まずは左のメニューから Source を追加する。これが Extract のデータソースとなる。データを取得する方法はいくつかあるが、重要なのは Actions の設定。ここで Execute Command を選択するとクエリを書くことができ、Execute Query だと GUI から取得する情報を選ぶことができる。単純にデータを取得するだけでいいなら Query, 複雑な JOIN などが発生するなら Command を使う。

取得の設定をした後、Schema 設定を確認すると、取得できるデータのカラム名を確認することができる。

Targets

次に、取得したデータをどこに Load させるかを設定する。ここでは Actions で Insert や Update などを設定し、Parameters で具体的にどのカラムにどのデータを連携させるかマッピングさせる。

Transformations

シンプルな EL であれば Sources と Targets を設定すれば十分だが、T を実現するには様々な方法でデータを変換する。よく使うものとしては以下のようなものがある。

Name Description
Conditional Split 条件分岐。Target からデータを Lookup した上で、既存のデータがあるなら Update, なければ Insert のように条件分岐させる
Lookup Load の前に既存のデータを確認する。重複するデータがないかの確認、削除対象の ID の確認などに使う
Extend データの変換。取得したデータの型を変換したり、データを加工したりする。Targets の中でもできるが、分かりやすさの観点からは Extend を使うのがお勧め

Run

名前の通り、単発の実行。Run した後に Monitor や Log を確認すると、実行結果を確認することができる。ただしログは分かりづらいことも多く、詳細を知りたいときはサポートに問い合わせる必要がある。

Schedule

動作を確認できたら、それを定期実行させることができる。左上の Schedule から実行するタイミングを設定し、State を Enabled にすることで、作成した Integration が定期実行される。

ちなみに Skyvia では Integraion のバージョン管理をすることができない。定期実行中の Integration を変更する際は注意すること。

その他、注意点など

ログの出力

Destinations の中から CSV Target を追加すると、実行結果を CSV ファイルに出力することができる。これを使うと Monitor の実行結果からより詳細な情報を得ることができる。特に追加した Target から赤い線を接続すると、エラー情報のみを出力できる。

ただし CSV に書き込んだ情報も課金対象になるため、すべての情報を出力するのはお勧めしない。

エラー通知

定期実行した Integraion がエラーになった際に通知するには、Account 設定の中から Notifications のメールアドレスを追加する。デフォルトだと Don't send notifications になっているため、Send to emails するのがお勧め。必要ならそれを Slack に転送する。

最新情報の確認

BigQuery のカラムを追加したり、Hubspot にプロパティを追加した際、Skyvia はその情報を自動では読み込まない。Skyvia で使えるようにするには、Connection や Integration にある更新ボタンを押す必要がある。

READYFORテックブログ

Discussion