DBeaver と Azure Databricks との統合
注意
この記事では、Databricks によって提供もサポートもされていない DBeaver について説明します。 プロバイダーに問い合わせるには、GitHub の dbeaver/dbeaver リポジトリの Issues ページを参照してください。
DBeaver は、開発者、データベース管理者、データ アナリスト、データ エンジニア、データベースを操作する必要がある他のユーザーのための、ローカルのマルチプラットフォーム データベース ツールです。 DBeaver は、Azure Databricks および一般的なその他のデータベースをサポートしています。
この記事では、Azure Databricks でデータベースを操作するために、ローカル開発マシンを使用して、無料でオープン ソースの DBeaver Community Edition (CE) をインストール、構成、使用する方法について説明します。
Note
この記事は、macOS、Databricks JDBC Driver バージョン 2.6.36、DBeaver CE バージョン 23.3.0 でテストされました。
要件
DBeaver をインストールする前に、ローカル開発マシンが次の要件を満たしている必要があります。
- Linux 64 ビット、macOS、または Windows 64 ビット オペレーティング システム。 (Linux 32 ビットはサポートされますが、推奨されません。)
- ローカル開発マシン上の Databricks JDBC ドライバー (ダウンロードした
DatabricksJDBC42-<version>.zip
ファイルからDatabricksJDBC42.jar
ファイルを抽出)。
DBeaver を使用して接続する先の Azure Databricks クラスターまたは SQL ウェアハウスも必要です。
手順 1: DBeaver をインストールする
次のように DBeaver CE をダウンロードしてインストールします。
- Linux: DBeaver Web サイトのダウンロードに関するページから、いずれかの Linux インストーラーをダウンロードして実行します。 このページには、
snap
およびflatpak
インストール オプションも用意されています。 - macOS: Homebrew を使用して
brew install --cask dbeaver-community
を実行するか、MacPorts を使用してsudo port install dbeaver-community
を実行します。 macOS インストーラーは、DBeaver Web サイトのダウンロードに関するページからも入手できます。 - Windows: Chocolatey を使用して
choco install dbeaver
を実行します。 Windows インストーラーは、DBeaver Web サイトのダウンロードに関するページからも入手できます。
手順 2: Azure Databricks JDBC Driver for DBeaver を構成する
前にダウンロードした Databricks JDBC ドライバーに関する情報を使用して DBeaver を設定します。
- DBeaver を起動します。
- 新しいデータベースの作成を求めるメッセージが表示されたら、[いいえ] をクリックします。
- データベースへの接続またはデータベースの選択を求めるメッセージが表示されたら、[キャンセル] をクリックします。
- [データベース] > [ドライバマネージャー] をクリックします。
- [ドライバマネージャー] ダイアログ ボックスで、[新規] をクリックします。
- [新しいドライバを作成する] ダイアログ ボックスで、[ライブラリ] タブをクリックします。
- [ファイルの追加] をクリックします。
- Azure Databricks JDBC Driver を抽出したフォルダーに移動します。
- 1 つ下のレベルに移動して
.jar
ファイルを見つけてください。 .jar
ファイルを強調表示し、[開く] をクリックしてください。- [設定] タブで、[ドライバ名] に「
Databricks
」と入力します。 - [設定] タブで、[クラス名] に「
com.databricks.client.jdbc.Driver
」と入力します。 - [OK] をクリックします。
- [ドライバマネージャー] ダイアログ ボックスで、[閉じる] をクリックします。
手順 3: DBeaver を Azure Databricks データベースに接続する
DBeaver を使用してクラスターまたは SQL ウェアハウスに接続し、Azure Databricks ワークスペース内のデータベースにアクセスします。
DBeaver で、[データベース] > [New Database Connection] (新しいデータベース接続) をクリックします。
[Connect to a database] (データベースに接続する) ダイアログ ボックスの [All] (すべて) タブで、[Databricks] をクリックし、[次へ] をクリックします。
[メイン] タブをクリックし、Azure Databricks リソースの [JDBC URL] フィールドに値を入力します。 JDBC URL フィールド構文については、「Databricks JDBC ドライバーの認証設定」を参照してください。
[接続テスト]をクリックします。
ヒント
接続をテストする前に、Azure Databricks リソースを起動する必要があります。 このようにしないと、リソースが起動する時間のために、テストが完了するまでに数分かかる場合があります。
接続が成功したら、[Connection Test] (接続テスト) ダイアログ ボックスで [OK] をクリックします。
[Connect to a database] (データベースに接続する) ダイアログ ボックスで [終了] をクリックします。
[Database Navigator] (データベース ナビゲーター) ウィンドウに [Databricks] エントリが表示されます。 接続の名前を識別しやすくするために変更するには:
- [Databricks] を右クリックし、[接続の編集] をクリックします。
- [接続の構成] ダイアログ ボックスで [全般] をクリックします。
- [Connection name] (接続名) で、
Databricks
を接続の別の名前に置き換えます。 - [OK] をクリックします。
DBeaver でアクセスするリソースごとに、この手順の指示を繰り返します。
手順 4: DBeaver を使用してデータ オブジェクトを参照する
DBeaver を使用して、Azure Databricks ワークスペース内のデータ オブジェクト (テーブルとテーブル プロパティ、ビュー、インデックス、データ型、その他の種類のオブジェクト) にアクセスします。
DBeaver の [Database Navigator] (データベース ナビゲーター) ウィンドウで、使用する接続を右クリックします。
[接続] が有効な場合、それをクリックします。 ([接続] が無効の場合、既に接続されています。)
ヒント
リソースに接続する前に、そのリソースを起動する必要があります。 このようにしないと、リソースが起動する時間のために、接続が完了するまでに数分かかる場合があります。
接続先の接続を展開します。
使用可能なデータ オブジェクトを展開して参照します。 データ オブジェクトをダブルクリックして、詳細を取得します。
この手順の指示を繰り返して、その他のデータ オブジェクトにアクセスします。
手順 5: DBeaver を使用して SQL ステートメントを実行する
DBeaver を使用して、samples
カタログの nyctaxi
スキーマからサンプル trips
テーブルを読み込みます。
DBeaver の [Database Navigator] (データベース ナビゲーター) ウィンドウで、使用する接続を右クリックします。
[接続] が有効な場合、それをクリックします。 ([接続] が無効の場合、既に接続されています。)
ヒント
リソースに接続する前に、そのリソースを起動する必要があります。 このようにしないと、リソースが起動する時間のために、接続が完了するまでに数分かかる場合があります。
[SQL Editor] (SQL エディター) > [New SQL Script] (新しい SQL スクリプト) をクリックします。
[(接続名) スクリプト 1] タブで、この SQL ステートメントを入力します。
SELECT * FROM samples.nyctaxi.trips;
[SQL エディター] > [SQL スクリプトの実行] の順にクリックします。
次のステップ
- Database Object Editor を使用して、データベース オブジェクトのプロパティ、データ、エンティティ リレーションシップ図を操作する。
- Data Editor を使用して、データベース テーブルまたビュー内のデータを表示および編集する。
- SQL Editor を使用して SQL スクリプトを操作する。
- DBeaver でエンティティ リレーションシップ図 (ERD) を操作する。
- DBeaver に対してデータをインポートおよびエクスポートする。
- DBeaver を使用してデータを移行する。
- DBeaver で JDBC ドライバーの問題のトラブルシューティングを行う。