Databricks へのデータ転送をサポートしました:CData Sync Databricks Destination

by 杉本和也 | 2021年08月10日

f:id:sugimomoto:20210809143800p:plain

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

今日は CData Sync が新しくサポートしたデータ転送先、「Databricks」との連携を紹介したいと思います!

Databricks とは?

Databricks は オープンソースの ビッグデータ処理基盤である Apache Spark をクラウドベースで提供しているサービスです。

databricks.com

f:id:sugimomoto:20200116122131p:plain

通常、Apache Sparkやその周辺のエコシステムのツール・フレームワークを自社で導入しようとすると、インフラ周りの構成で煩わしさが多く発生しますが、Databricksを使うことでそういった煩わしさから脱却し、メインとなる分析作業に注力することができるようになります。

また、Azure・AWS・GCPと任意のクラウドサービス上に展開できる点も魅力的ですね。

f:id:sugimomoto:20210809144444p:plain

CData Sync Databricks Destination で何ができるの?

CData Sync クラウドサービスやRDB・NoSQLなどの様々なサービスからDWHやデータベースへノーコードでデータをレプリケーションすることができるツールです。

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

f:id:sennanvolar44:20200501163232p:plain

今回 CData Sync ではデータの転送先として、新しく Databricks がサポートされました。

これにより CData Sync でサポートしている250種類を超える kintone や Salesforce、Marketo といったクラウドサービスやRDB・NoSQLなどのデータソースから、Databricks へ手軽にデータのレプリケーションを実現し、Databricks 上でのデータ分析・活用に繋げることができるようになりました。

f:id:sugimomoto:20210809143800p:plain

実体としては、以下のように Databricks 上のテーブルとして自動生成されて

f:id:sugimomoto:20210809143808p:plain

あとは通常通り、Databricks 上のNotebook で登録されたテーブルに対してクエリを実行し、データを集計・加工・分析できます。

f:id:sugimomoto:20210809143814p:plain

CData Sync がサポートしているデータソースの一覧は以下のURLからどうぞ。

www.cdata.com

(以下、一部抜粋)

f:id:sugimomoto:20210809143822p:plain

使い方

それでは実際にCData Sync を使って、Databricks へのデータレプリケーションを試してみましょう。

CData Sync はサーバー製品になります。以下のURLからトライアル版をダウンロードして、環境をセットアップしておきましょう。

www.cdata.com

以下の記事でセットアップの詳しい手順も解説しています。

www.cdatablog.jp

また AWS ではAMIベースで利用できるプランも提供しています。

aws.amazon.com

今回は私のローカルデスクトップマシン、Windows にインストールした CData Sync からAzure環境に構築したDatabricks に接続してみたいと思います。

Databricks の環境を構築

CData Sync のセットアップが完了したら Databricks 側の環境も準備しましょう。

Azure Databricks についてはこちらのリンクからどうぞ。14日間のトライアルも提供されています。

azure.microsoft.com

以下のようにAzure Databricks 環境を構築したら、クラスターを構成します。

f:id:sugimomoto:20210809143832p:plain

「New Cluster」から任意の名前のCluster を構成します。今回は「Databricks Runtime Version」でLTSの 7.3 を選んで構成しました。

f:id:sugimomoto:20210809143840p:plain

環境が構成できたら、「Advanced Options」の「JDBC/ODBC」を選択し、接続に必要となる「Server Hostname」と「HTTP Path」を控えておきましょう。

f:id:sugimomoto:20210809143845p:plain

Token の生成

併せてDatabricks に接続する際に必要となるTokenを生成します。

画面右上のユーザー名から「User Settings」をクリックし

f:id:sugimomoto:20210809143853p:plain

「Access Tokens」のタブから「Generate New Token」をクリックします。

f:id:sugimomoto:20210809143858p:plain

任意のコメントを付けてTokenを生成しましょう。

f:id:sugimomoto:20210809143903p:plain

以下のように生成されたTokenを控えておきます。

f:id:sugimomoto:20210809143908p:plain

これで Databricks 側の準備は完了です。

CData Sync から Databricks に接続

続いて CData Sync からDatabricks に接続しましょう。

CData Sync の管理画面にログインし「接続」→「同期先」から、「Databricks」を選択します。

f:id:sugimomoto:20210809143913p:plain

Databricks で構成したそれぞれの情報をもとに、以下のように接続情報を入力します。

プロパティ名 備考
Server 例)adb-768087444450513.13.azuredatabricks.net クラスターのServer Hostname を指定します。
Auth Scheme Token 認証方法を指定します。
HTTP Path 例)sql/protocolv1/o/768087444450513/0809-023132-unsay358 クラスターのHTTP Pathを指定します。
Token 例)YOUR_TOKEN_123456789123456789 User Settings で生成した Access Tokenを指定します。

入力完了後、「接続のテスト」をクリックし、正常に接続が完了したら「変更を保存」をクリックしましょう。

f:id:sugimomoto:20210809143922p:plain

データソースの接続を構成

併せて、データの取得元となるデータソースへの接続を構成します。

特にデータソースは何を選んでも構いません。

f:id:sugimomoto:20210809143930p:plain

今回は Marketing Automation のクラウドサービスとして有名な Marketo を選択してみました。

f:id:sugimomoto:20210809143937p:plain

ジョブの作成

それでは実際にデータのレプリケーションを行います。

CData Sync はジョブという単位でデータのレプリケーションの設定を行います。「ジョブ」に移動して「ジョブを追加」をクリックします。

f:id:sugimomoto:20210809143944p:plain

任意の「ジョブ名」と、先程構成したMarketo・Databricks の接続をそれぞれ「ソース」「同期先」で選択します。

f:id:sugimomoto:20210809143951p:plain

ジョブを作成したら、「テーブルを追加」から、レプリケーション対象となるテーブルを指定します。

f:id:sugimomoto:20210809143956p:plain

ここでデータソースから取得したいテーブルを指定します。

f:id:sugimomoto:20210809144001p:plain

指定したテーブルを設定画面でプレビューすることもできるので、データが正常に取得できるか、どんなデータが取得できるのかをここで確認できます。

f:id:sugimomoto:20210809144006p:plain

あとはジョブの実行時間、頻度をスケジュールから指定します。

f:id:sugimomoto:20210809144012p:plain

レプリケーションの実行

今回はテストとして手動で実行してみましょう。

レプリケーション対象のテーブルを選択して「実行」ボタンをクリックします。

f:id:sugimomoto:20210809144018p:plain

一定時間が経過すると、以下のようにステータス項目にレプリケーション結果が表示されます。

f:id:sugimomoto:20210809144023p:plain

Databricks 側の画面に移動してみると、以下のようにテーブルが追加されていることが確認できました。

f:id:sugimomoto:20210809144029p:plain

Schemaや実際のデータもプレビューして確認することができます。

f:id:sugimomoto:20210809144034p:plain

なお、Databricks 上のデータの実体はDBDSブラウザー「/user/hive/warehouse/テーブル名」から確認できます。

f:id:sugimomoto:20210809144040p:plain

あとは、Databricks の Notebook でテーブルを自由にクエリできます。

f:id:sugimomoto:20210809144047p:plain

おわりに

接続設定さえ正常に完了すれば、簡単にデータのレプリケーションが実施できますね。

今回は Azure で行いましたが、AWS でも GCP でも基本的な利用方法は変わりません。

もし気になる点、よくわからない点があれば、テクニカルサポートも提供しているので、お気軽に問い合わせしてみてください。

https://www.cdata.com/jp/support/submit.aspx

関連コンテンツ

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

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。