Fivetranでデータ統合を自動化する

Fivetranとは

Fivetranは様々なソースからデータを取得できます。Salesforce、SAPのようなSaaSアプリケーション、OracleやMySQL、TwitterやGoogle Adsなどのマーケティングツールからデータを抽出し、データウェアハウス(BigQuery・Snowflake・Redshift・Databricksなど)にロードします。

ロードはどのくらいの頻度で連携するか(5分~数時間毎など)重複なく、もれなく、増分でといったような連携で悩むような事柄やソースにアクセスするためのAPIの変更やソースデータのスキーマ変更といった部分も自動化してくれます。

ELTのE(抽出)とL(ロード)の部分になります。またFivetranはdbtと連携することができ、ソースからデータをDWHにロード後にdbtによるT(変換)も同期的に処理することが可能になっています。

そのため、Fivetran + dbtはELTパイプラインを自動化することができ、このようなデータ基盤を構築するスピードを短縮してくれます。

Google Cloud blogより

SalesforceのデータをDatabricksへロードする

DatabricksのPartner ConnectでFivetranとの接続設定をします。Partner ConnectのメニューからFivetranのアイコンをクリックすると最初の画面(以下)が表示されます。
「次のページ」をクリックするとFivetranに接続するためのDatabricksのリソース(FIVETRAN_USERという名前のサービスプリンシパルとそのパーソナルアクセストークン)が自動的に作成されます。

Emailにはログイン中のDatabricksユーザーのEmailアドレスが表示されます。
このアドレスでFivetranのトライアルアカウントを作成します。

トライアルアカウントのパスワードを入力します。

作成したトライアルユーザーでFivetranの管理画面にログイン後、データソースを選択する画面に遷移します。Salesforceを選択します。

Destination schemaは、宛先のスキーマ名を入力します。宛先がDatabricksの場合、DeltaLakeのデータベース名になります。

AUTHORIZEボタンをクリックするとログイン認証とアクセス許可を求める画面に遷移するので、アクセス許可をします。

Salesforceの接続設定が完了したら、元の画面に戻るので 「SAVE & TEST」をクリックします。

次にSalesforceコネクタの設定を行います。Schemaタブをクリックし、Salesforceの認証ユーザーの権限に応じて、Salesforceオブジェクト(カスタムオブジェクトも含まれる)が表示されます。同期する対象にチェックをします。

Setupタブをクリックし、同期頻度(Sync Prequency)をスライダーで調整します。

Statusタブの「Start Initial Sync」ボタンをクリックすると初期同期がはじまります。コネクタ設定後の初期同期は毎月のアクティブな行にカウントされないため、料金は発生しません。初期同期が完了すると、次回から増分同期となり、増分変更のみを同期するようになります。同期されたデータ量に応じて料金が発生します。

以上でSalesforceからDatabricksへのデータ抽出とロードまでが完了しました。
簡単にデータ連携ができることがお分かりいただけたのではないでしょうか。