APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

入門Fivetran(2) - FivetranとDatabricksを連携させ、Google Sheetsのデータを取りこむ

はじめに

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を利用させて頂きましたが、ここでは特にデータの内容は問いません。

liclog.net

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を用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。

www.ap-com.co.jp