各製品の資料を入手。
詳細はこちら →MicroStrategy でCData JDBC Driver を使ってDatabricks に接続
CData JDBC Driver を使用してMicroStrategy Developer のDatabricks に接続します。
最終更新日:2023-09-16
この記事で実現できるDatabricks 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
MicroStrategy は、データ主導のイノベーションを可能にする、モビリティプラットフォームです。MicroStrategy をCData JDBC Driver for Databricks とペアリングすると、MicroStrategy からリアルタイムDatabricks へのデータベースのようなアクセスが得られ、レポート機能と分析機能が拡張されます。この記事では、MicroStrategy Developer でDatabricks のデータベースインスタンスを作成し、Databricks のWarehouse Catalog を作成します。
CData JDBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、MicroStrategy でリアルタイムDatabricks と対話するための圧倒的なパフォーマンスを提供します。MicroStrategy からDatabricks に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をDatabricks に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブのMicroStrategy データタイプを使用してDatabricks を視覚化および分析できます。
MicroStrategy Developer のDatabricks に接続
CData JDBC Driver for Databricks に基づくデータベースインスタンスを追加することにより、MicroStrategy Developer のDatabricks に接続できます。* 開始する前に、MicroStrategy Developer のインスタンスが接続されているMicroStrategy Intelligence Server をホストとするマシンにJDBC Driver for Databricks をインストールする必要があります。
- MicroStrategy Developer を開き、[Project Source]を選択します。
- [Administration]->[Configuration Managers]->[Database Instances]と進み、右クリックして新しいインスタンスを追加します。
- インスタンスに名前を付け、データベース接続タイプとしてGeneric DBMS を選択し、新しいデータベース接続を作成します。
- データベース接続ウィザードで接続に名前を付け、新しいデータベースログイン名を作成してDatabricks のユーザーとパスワードを設定します。
- 接続ウィザードの[Advanced]タブで、追加の接続文字列パラメータを以下のように設定します。
- JDBC キーワードを接続文字列に追加します。
- MSTR_JDBC_JAR_FOLDER をJDBC ドライバーのJAR ファイルを含むディレクトリのパスに設定します。(C:\Program Files\CData JDBC Driver for Databricks\lib\ on Windows.)
- DRIVER をドライバークラスであるcdata.jdbc.databricks.DatabricksDriver に設定します。
- URL をDatabricks ドライバーのJDBC URL に設定します。これには、必要な接続プロパティが含まれています。
Databricks 接続プロパティの取得・設定方法
Databricks クラスターに接続するには、以下のプロパティを設定します。
- Database:Databricks データベース名。
- Server:Databricks クラスターのサーバーのホスト名。
- HTTPPath:Databricks クラスターのHTTP パス。
- Token:個人用アクセストークン。この値は、Databricks インスタンスのユーザー設定ページに移動してアクセストークンタブを選択することで取得できます。
Databricks への認証
CData は、次の認証スキームをサポートしています。
- Basic
- 個人用アクセストークン
- Azure Active Directory(AD)
- Azure サービスプリンシパル
- OAuthU2M
- OAuthM2M
Basic
Basic 認証には、ユーザー名とパスワードが必要です。以下を設定します。
- AuthScheme:Basic。
- User:ユーザーネーム。これはデフォルト値("Token")をオーバーライドします。
- Token:パスワード。
その他の認証方法については、ヘルプドキュメント の「はじめに」セクションを参照してください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、Databricks JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.databricks.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
以下は、一般的な追加の接続文字列プロパティです。
JDBC;MSTR_JDBC_JAR_FOLDER=PATH\TO\JAR\;DRIVER=cdata.jdbc.databricks.DatabricksDriver;URL={jdbc:databricks:Server=127.0.0.1;Port=443;TransportMode=HTTP;HTTPPath=MyHTTPPath;UseSSL=True;User=MyUser;Password=MyPassword;};
- ODBC データソースが選択されていないことを確認し、(これによりMicroStrategy がトリガーされ、追加の接続文字列パラメータを使用してデータベースインスタンスが構築されます)[OK]をクリックします。
- [OK]をクリックし、データベースインスタンスウィザードを閉じます。
- [Project Source]でプロジェクトを右クリックし、[Project configuration]を開きます。
- [Database Instances]に移動し、新しく作成したデータベースインスタンスを選択して[OK]をクリックします。
- MicroStrategy Developerを閉じ、接続されたMicroStrategy Intelligence Server を再起動してデータベースインスタンスの作成を完了します。
データベースインスタンスを構成すると、Warehouse Catalog およびData Import からDatabricks に接続できるようになります。
Warehouse Catalog からDatabricks のデータに接続する
JDBC Driver for Databricks に基づいてデータベースインスタンスを作成すると、Warehouse Catalog のデータに接続できます。
- プロジェクトを選択し、[Schema]->[Warehouse Catalog]をクリックします。
- [Read Settings for the Catalog]で[Settings]をクリックし、スキーマを取得するためのクエリを設定します。
- テーブルのリストを取得するには、以下のクエリを使用します。
SELECT * FROM SYS_TABLES
- 選択したテーブルの例のリストを取得するには、以下のクエリを使用します。
SELECT DISTINCT CatalogName NAME_SPACE, TableName TAB_NAME, ColumnName COL_NAME, DataTypeName DATA_TYPE, Length DATA_LEN, NumericPrecision DATA_PREC, NumericScale DATA_SCALE FROM SYS_TABLECOLUMNS WHERE TableName IN (#TABLE_LIST#) ORDER BY 1,2,3
- テーブルのリストを取得するには、以下のクエリを使用します。
- プロジェクトで使用するテーブルを選択します。
MicroStrategy のCData JDBC Driver for Databricks を使用すると、Databricks で安定したビジュアライズとレポートを簡単に作成できます。詳細については、MictroStrategy でのDatabricks への接続やMicroStrategy Desktop でのDatabricks への接続 に関するほかの記事をお読みください。
NoteJDBC Driver を使用して接続するには、3層から4層のアーキテクチャが必要です。