はじめに
GLB事業部Lakehouse部の松崎です。今回は、FivetranをDatabricksに連携させる方法を解説していきます。 ※前回の記事はこちら。
Fivetranでは、コネクタを使って多様なデータソースに対応できます。 本記事では、Google Sheetsからの連携設定の作成を進めていきます。
目次
1. 設定の流れ
詳細な手順の説明に入る前に、まずは設定の流れを簡単におさらいしておきましょう。 個別の具体的な設定方法から読みたいという方は、「2.実際の連携手順」を参照ください。
1-1. Partner ConnectよりFivetranを有効化
- Databricks Workpaceにて、Parnet Connect 機能を使いFivetranを有効化
- (Fivetran側で自動実行) Personal Access Tokenを使った、Fivetran ⇒ Databricks(SQL Endpoint)への接続に必要な情報の収集
1-2. Fivetranアカウントの作成
- ポップアップした、Fivetranの14-day trialアカウントの作成画面にて
- EmailアドレスとPasswordを登録し、Fivetranのアカウント作成
- アカウント作成が完了すると、Fivetranの管理画面に遷移
1-3. Google Sheetsファイルの作成
- データソースとなるGoogle Sheetsのファイルを作成
1-4. ETL設定の作成
- Fivetranのコネクタ設定の実施
- Google SheetsがFivetranからアクセスできるよう権限の付与
- インポートするデータ範囲を名前付き範囲で指定
1-5. ETL設定の動作確認
- 作成したETL設定が正しく動作することを確認
2. 実際の連携手順
前提条件
- Databricksのワークスペースが利用可能であることが前提条件となります。
- ワークスペースの作成方法については、弊社阿部が以下の記事で解説しておりますので、よろしければ合わせてご覧下さい。
- Fivetranの14-day trialアカウントを未作成であることが前提となります。作成済み、または、Fivetranの有償アカウントをお持ちの場合は、一部手順が異なります。
2-1. Partner ConnectよりFivetranを有効化
まずは、DatabricksのPartner Connect機能を使って、Fivetranとの紐づけを進めていきます。
Databricks Workspaceにサインインし、 画面左下のPartner Connectボタンをクリックします。
次のコネクトの選択画面にて、Fivetranを選択します。
遷移後の画面にて、Nextをクリックします。
※これによりバックグラウンドで、Personal Access TokenやSQL Warehouseインスタンスが生成されます。
2-2. Fivetranアカウントの作成
3-1の手順を全て終えるとFivetranのwebページに遷移します。 パスワードを初期登録し、14 day trialアカウントを作成します。
アカウント作成が完了しますと、Fivetranの管理画面に遷移します。
画面左のサイドバー中の Destinations
をクリックし、Databricksワークスペースへの接続状態が CONNECTED
となっていることを確認してください。
2-3. Google Sheetsファイルの作成
Fivetranにインポートさせる、Google Sheetsファイルを作っていきます。 Google Sheet形式のファイルを作成し、任意のデータをサンプルレコードとして 入力してください。
※私が検証の際は、以下のページで提供のiris-datasetを利用させて頂きましたが、ここでは特にデータの内容は問いません。
2-4. ELT設定の作成
ELT設定の作成&設定値の入力
Fivetranの管理画面より、 Connectors
に進み、画面右上の Add connector
をクリックします。
コネクタの選択画面に変わるので、 Google Sheets
コネクタを選択します。
ELT設定の入力画面に遷移しますので、右側に表示の Setup Guideを参考にしつつ設定を進めていきます。
以下に設定値の意味合いをまとめています。
Destination schema : Databricks上でデータを格納するスキーマ名(任意)を入力するフィールドです。ここでは、
google_sheets
を指定します。Destination table : Databricks上でデータを格納するテーブル名(任意)を入力するフィールドです。ここでは、
google_sheets
を指定します。Authentication Method : Fivetranに開放するアクセス権限の範囲を指定するフィールドです。検証対象のGoogle SheetsのみをFivetranからアクセス可能にしたいので、ここでは
Authorize Service Account
を選択します。Sheet URL : 操作対象のGoogle Sheetsの場所を指定するフィールドです。先ほど作成のGoogle SheetsのURLを入力します。
Fivetran⇒Google Sheetsへの共有権限の作成
上記の設定値を入力後、 Authorize Service Account
を選択すると、以下画像のように共有設定を付与する旨の依頼が表示されます。
※指定されるメールアドレスは可変で、設定の度に異なる値が表示されます。
Google Sheetsの操作画面に移動し、提示されたメールアドレスの共有設定を実施します。
名前付き範囲の設定
画面右側のSetup Guideに従い、Google Sheetsの 名前付き範囲(namaed range) を設定していきます。名前付き範囲を指定することで、指定された範囲内のデータのみをFIvetranがインポートします。
まず、以下のようにFivetranに追加したいデータを選択します。
つぎに、 データ
⇒ 名前付き範囲
を選択します。
任意の名前を入力して、 完了
をクリックします。
Fivetranの設定画面に戻り、 Find sheet
をクリックし、 Named Range
のプルダウンから
先ほど作成の名前付き範囲を選択し、Save & Testをクリックします。
接続テストの画面に変わりますので、
2項目の接続テストに成功し、
All connection tests passed!! と表示されることを確認後、
Continue
を選択クリックします。
2-5. ETL設定の動作確認
Fivetranの画面に戻るので、 Start Sync
をクリックすると、データソースからのデータのインポートが開始します。
遷移後の画面にて、Syncが開始したことが確認できます。
暫くすると、Syncが完了し以下のような表示に変わります。
Databricksの Data Explorer
画面を確認すると、指定したスキーマ及びテーブルが作成されていることが確認できます。
おわりに
本記事は以上となります。いかがでしたでしょか? Fivetranを使うことで、ELT設定が簡単に作成できる点が伝わりますと幸いです。
私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。
また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。