Databricks Lakehouse Federation のデータソースとしてSalesforce などのSaaS 接続を追加する方法:CData Connect Cloud

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はDatabricks が提供するデータ仮想化機能、Lakehouse Federation とCData Connect Cloud の連携について紹介したいと思います。

Databricks Lakehouse Federation とは?

統合データ分析プラットフォームのDatabricks が提供するデータ仮想化サービスです。

https://www.databricks.com/blog/announcing-general-availability-lakehouse-federation

MySQL やPostgreSQL など、社内に存在する様々なデータソースへのアクセスをDatabricks 上で仮想化することで、データ資産を手軽に統合できるようになり、データの検出とアクセス管理が簡素化を実現する機能です。

現在サポートされているデータソースは主にDWH・RDB系のサービスとなっています。

https://docs.databricks.com/en/query-federation/index.html

CData Connect Cloud とは?

CData Connect Cloud は、SaaS ベースで提供されるデータハブサービスです。

Salesforce、NetSuite、Dynamics 365、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。

連携方法が異なるSaaS をSQL Server(TDS)、OData、REST API の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。"SQL as a Service" といっていいかもしれません。

https://www.cdata.com/jp/cloud/

今回の記事の連携シナリオ

前述の通りDatabricks Lakehouse Federation はRDB・DWH の統合、仮想化が可能ですが、現在のビジネス環境ではRDB・DWH以外のSalesforce やSAP といったSaaS にデータが管理されているケースが多々あり、そのデータをDatabricks のようなデータ分析基盤で統合することはデータ活用において大きなポイントとなります。

もちろん外部のETL/ELT、EAIツールなどを使って取り込むことも可能ですが、Databricks 以外のインタラクション・データ管理レイヤーが増えることが望ましくない場合もあると思います。

そこで、そのような課題をCData Connect Cloud とLakehouse Federation を組み合わせることで解決します。

CData Connect Cloud はSalesforce やSAP で提供されているデータアクセスのためのWeb API をSQL Server のインターフェース・TDSに擬態させ、様々なツール・サービスからのアクセスを可能にします。

この機能とDatabricks Lakehouse Federation がサポートするSQL Server 接続を組み合わせることで、あたかもDatabricks のデータカタログに存在するかのうようにSalesforce などのデータにシームレスなアクセスが可能になります。

CData Connect Cloud のトライアル取得

それでは実際に試していきましょう。

まずCData Connect Cloud のトライアル環境を取得します。以下のURLからサインアップすることで、フル機能の30日間トライアルアカウントが取得できます。

https://www.cdata.com/jp/cloud/signup/

CData Connect Cloud でコネクションを構成

アカウント取得後、早速CData Connect Cloud にサインインして、連携したいSaaS への接続を構成していきましょう。

管理画面から「Connections」を選択し、「+Add Connection」をクリックします。

CData Connect Cloud がサポートしているデータソースの一覧が表示されるので、任意のデータソースを選択しましょう。

今回はSalesforce を選択します。

Salesforce を選択すると、以下のように接続管理画面が表示されます。

ここで必要な認証情報を入力して、コネクションを確立します。

Salesforce はデフォルトでOAuth による接続をサポートしているので、「Sign in」ボタンをクリックして、接続対象のアカウントにログインし、接続を許可しましょう。

実はこれだけでCData Connect Cloud の準備はほとんど完了です。

Access Token の作成

あとは、Databricks からCData Connect Cloud に接続するための認証情報となるAccess Token を取得するだけです。

「Settings」に移動し、「Access Tokens」から「+Create PAT(Personal Access Token)」をクリックします。

任意のAccess Token 名を入力し、「Create」をクリックしましょう。

以下のようにPersonal Access Token が表示されるので、コピーして保存します。

Data Explorer でデータを確認

ちなみに、CData Connect Cloud では、Data Explorer という機能を使って、接続したサービスのデータを確認できます。

以下のようにSalesforce のデータが取得できていれば、正常に接続できていることが確認できます。このようにSalesforce やKintone など様々なサービスに対して、SQLベースでデータアクセスが可能になっています。

Unity Catalog にコネクションの追加

CData Connect Cloud の準備が完了したので、Databricks の画面からLakehouse Federation の機能設定を進めていきましょう。

Lakehouse Federation はCatalog に各サービスへのコネクションを追加することで、利用できるようになります。

「Catalog」に移動し「+」ボタンから「Add a connection」をクリックします。

Create Connection の画面に移動したら、任意のConnection name を入力し、Connection type から「SQL Server」を選択します。

CData Connect Cloud がSQL Server のインターフェースに擬態しているため、これで透過的に様々なサービスへの接続をサポートできます。

あとは、CData Connect Cloud への認証情報を入力していきます。

Property

Value

Note

Auth type

Username and password

 

Host

tds.cdata.com

 

Port

14333

通常のSQL Serverのポート「1433」と異なるので注意

User

[email protected]

CData Connect Cloud のログインアカウントを指定します。

Password

YOUR_PAT

予め作成したPersonal Access Token を指定します。

あとはTest connection で接続が確認できればOKです。

Catalog の追加

Connection を作成後、Catalog に対象となるデータベースを追加していきます。

「Create catalog」をクリックし

任意のCatalog name を指定後、Database の項目に、CData Connect Cloud で作成したSalesforce などのConnection Name を指定します。

Connection Name とは以下の項目のことです。

これでCatalog の作成が完了です。とてもシンプルに設定できますね。

Catalog からデータアクセスを確認してみる

それでは実際にDatabricks Lakehouse Federation とCData Connect Cloud を通じて、Salesforce のデータへアクセスしてみましょう。

Catalog の画面に移動すると、以下のようにSalesforce のCatalog が追加され、展開することでSalesforce のオブジェクト一覧が表示されることが確認できます。

あとは任意のテーブルを選択するだけで、項目の一覧

そして、実際のデータがリアルタイムでローディングされて、アクセスすることができました!

もちろん、このままDashboard 機能でビジュアライズしたり、Workflow でELT のTransform 処理に繋げることも可能です。

おわりに

このようにCData Connect Cloud では、Databricks Lakehouse Federation がサポートしていない、Salesforce やkintone、Google Spreadsheet などの様々なデータアクセス汎用的なインターフェースで統合し、手軽に連携を実現することが可能です。

今回紹介したSalesforce 以外にも様々なクラウドサービス接続を提供しているので、是非皆さんが利用しているサービスにつないで活用してみてください。

https://www.cdata.com/jp/cloud/connectors/

参考記事

Databricks と CData Connect で実現する Salesforce を含む 100 以上の PaaSサービスを含めたデータ仮想化プラットフォームの実装案

https://qiita.com/manabian/items/0b4c33c724bb6cee1084

トライアル・お問い合わせ

関連コンテンツ