ETL Validator JDBC でDatabricks のデータを扱う方法
ETL Validator は、組織全体のデータプラットフォームを統合するためのデータ移動と変換機能を提供します。 CData JDBC ドライバーは ETL Validator とシームレスに統合され、ネイティブの接続機能を拡張してDatabricks のデータを含めることができます。
このチュートリアルでは、シンプルな ETL Validator データフローを構築し、Databricks のデータを抽出して、サンプルのデータストレージソリューションである SQL Server にロードする手順を説明します。
Databricks データ連携について
CData を使用すれば、Databricks のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:
- Runtime バージョン 9.1 - 13.X から Pro および Classic Databricks SQL バージョンまで、すべてのバージョンの Databricks にアクセスできます。
- あらゆるホスティングソリューションとの互換性により、お好みの環境で Databricks を使用し続けることができます。
- パーソナルアクセストークン、Azure サービスプリンシパル、Azure AD など、さまざまな方法で安全に認証できます。
- Databricks ファイルシステム、Azure Blob ストレージ、AWS S3 ストレージを使用して Databricks にデータをアップロードできます。
多くのお客様が、さまざまなシステムから Databricks データレイクハウスにデータを移行するために CData のソリューションを使用していますが、ライブ接続ソリューションを使用して、データベースと Databricks 間の接続をフェデレートしているお客様も多数います。これらのお客様は、SQL Server リンクサーバーまたは Polybase を使用して、既存の RDBMS 内から Databricks へのライブアクセスを実現しています。
一般的な Databricks のユースケースと CData のソリューションがデータの問題解決にどのように役立つかについては、ブログをご覧ください:What is Databricks Used For? 6 Use Cases
はじめに
CData 経由で新しい ETL Validator データソースを追加
CData は、CData JDBC ドライバー経由で接続するデータソースを追加できるようにすることで、ETL Validator のデータ接続機能を拡張します。Databricks のデータへの接続は、以下の手順で CData の接続スイートを通じて ETL Validator で新しいデータソースを作成するだけです。
ETL Validator にログイン
まず、ETL Validator にログインしてアプリケーションダッシュボードを表示します。
データソースの追加をクリック
CData は ETL Validator 内のデータソースオプションを拡張します。
CData をクリック
CData の接続機能は ETL Validator のデータソースオプションに組み込まれています。
CData Driver の接続文字列を設定
ETL Validator で Databricks への接続を確立するには、JDBC 接続文字列が必要です。
Databricks 接続プロパティの取得・設定方法
Databricks クラスターに接続するには、以下のプロパティを設定します。
- Database:Databricks データベース名。
- Server:Databricks クラスターのサーバーのホスト名。
- HTTPPath:Databricks クラスターのHTTP パス。
- Token:個人用アクセストークン。この値は、Databricks インスタンスのユーザー設定ページに移動してアクセストークンタブを選択することで取得できます。
Databricks への認証
CData は、次の認証スキームをサポートしています。
- 個人用アクセストークン
- Microsoft Entra ID(Azure AD)
- Azure サービスプリンシパル
- OAuthU2M
- OAuthM2M
個人用アクセストークン
認証するには、次を設定します。
- AuthScheme:PersonalAccessToken。
- Token:Databricks サーバーへの接続に使用するトークン。Databricks インスタンスのユーザー設定ページに移動してアクセストークンタブを選択することで取得できます。
その他の認証方法については、ヘルプドキュメント の「はじめに」セクションを参照してください。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、Databricks JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.databricks.jar
一般的な接続文字列は以下のようになります。
jdbc:databricks:Server=127.0.0.1;HTTPPath=MyHTTPPath;User=MyUser;Token=MyToken;
ドライバーのライセンス
JDBC ドライバーが適切にライセンスされていることを確認するには、ライセンスファイルを適切な場所にコピーします。
Databricks 用の JDBC Driver と lic ファイルを「C:\Program Files\CData[product_name]\lib」から 「C:\Datagaps\ETLValidator\Server\apache-tomcat\bin」にコピーします。
cdata.jdbc.databricks.jar
cdata.jdbc.databricks.lic
注意:.lic ファイルを jar と一緒にコピーしない場合、有効なライセンスがインストールされていないことを示すライセンスエラーが表示されます。これは評価版と正式版の両方に当てはまります。
接続を保存
CData JDBC ドライバークラスのロードで問題が発生した場合は、DataGap のチームにお問い合わせください。関連するドライバーの jar ファイルをロードする方法について案内を受けることができます。
SQL Server をターゲットとして追加
この例では Databricks のデータの保存先として SQL Server を使用しますが、任意の保存先を代わりに使用できます。
DataSources に移動し、MS_SQL_SERVER を選択
このオプションがデフォルトです。
必要な接続の詳細を入力し、接続をテスト
詳細は特定のターゲットによって異なりますが、URL、認証情報などが含まれる場合があります。
ETL Validator でデータフローを作成
Dataflows タブを開く
設定済みのデータフローがこのウィンドウに表示されます。
Create Dataflow を選択
新しいデータフローに名前を付けて保存します。
データフローを開いてデータフロー図を表示
データ移動の詳細はこのパネルで設定します。
右側から JDBC をソースとしてドラッグ&ドロップ
新しいソースに適切な名前を付けて保存します。
新しいソースの Query セクションを入力
Databricks のデータからどのデータを取得するかを反映するテーブルを Schema オプションから選択します。
クエリの予想結果を確認
設定したクエリの予想される結果が Result タブに表示されます。
データフローに保存先を追加
「Switch to Diagram」を選択し、右側(Sink オプションの下)から DB Sink をターゲットとしてドラッグ&ドロップします。シンクに適切な名前を付けて保存します。
保存先の適切なスキーマを設定
ソーステーブルの構造に一致するスキーマとテーブルを選択します。この例では、ターゲット側のテーブルがソースに一致するように作成されているため、データがシームレスに流れます。より高度なスキーマ変換操作については、この記事の範囲外です。
RUN オプションをクリックしてレプリケーションを開始
ジョブの実行には時間がかかります。
完成したデータフローを確認
図に戻り、Databricks のデータから SQL Server への完成したデータレプリケーションジョブを確認します。
今すぐ始めましょう
CData JDBC Driver for Databricks の30日間無償トライアルをダウンロードして、 ETL Validator で Databricks 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、 サポートチームまでお問い合わせください。