Databricks の接続
このページでは、DoiT コンソールから Databricks アカウントを接続および管理する方法について説明します。接続後は、コンソール内で Databricks の利用状況およびコストデータを使用できるようになります。詳細は、Databricks データの利用を参照してください。
以下のコンテンツを読むか、▶️ インタラクティブデモで画面操作の流れを確認してください。
始める前に
Databricks を DoiT と連携するには、次の要件を満たす必要があります。
-
Databricks の Account Admin かつ metastore admin である必要があります。
-
Databricks の warehouse が Unity catalog に対応している必要があります。
-
Databricks SQL をご自身のワークロードで使用していない場合でも、この連携には SQL warehouse が必須です。DoiT は SQL warehouse をコンピュートエンドポイントとして使用し、システムテーブルに対して 1 日に複数回クエリを実行します。
-
既に利用可能な warehouse(自動作成される Serverless Starter Warehouse を含む)がある場合は、それを使用できます。
-
warehouse がない場合は、ワークロードの分離性とコストの予測性を高めるために、小規模な専用の Classic SQL warehouse を作成してください。次の設定を推奨します。
- Type: Classic
- Cluster size: 2X-small
- Auto stop: 5 minutes
-
必要な権限
Databricks アカウントを DoiT に接続するには、お使いの DoiT アカウントに Billing Profiles Admin 権限が付与されている必要があります。
Databricks アカウントを接続する
コンソールには、Databricks アカウントを接続するためのステップバイステップのウィザードが用意されています。複数のアカウントを接続する場合は、各アカウントごとにウィザードのセットアップを完了してください。
ウィザードを起動する
ウィザードを起動するには、次の操作を行ってください。
-
画面上部のナビゲーションメガメニューから データ取り込みとインテグレーション > Integrations を選択します。
-
Databricks のインテグレーションカードを探します。
-
最初のアカウントを追加する場合は、Connect + を選択します。
-
追加のアカウントを設定する場合は、Manage を選択し、続けて 新しいアカウントを接続 を選択します。
-
ステップ 1: アカウントを設定する
Databricks と連携する際は、Databricks アカウントの詳細情報を入力する必要があります。
-
Databricks Workspace UI に Account Admin としてサインインします。
-
Account Settings に移動し、Databricks アカウント名をコピーします。
-
DoiT コンソールに戻り、Account name に Databricks のアカウント名を入力します。
-
Next を選択して、認証情報を設定します。

ステップ 2: 認証情報を設定する
DoiT からプログラム的に Databricks にアクセスできるようにするには、Databricks アカウントごとに 1 つの Databricks service principal を作成し、secret を生成する必要があります。認証情報の設定は次の 4 つのステップで構成されます。
-
Databricks service principal を作成し、secret を生成します。
-
作成した service principal に対して、DoiT と連携したい Databricks warehouse へのアクセス権を付与します。
-
service principal に対して Databricks SQL access entitlement を有効化します。
service principal を作成する
DoiT からお客様の Databricks 環境へアクセスできるようにするため、専用の Databricks service principal を作成し、secret を生成します。
-
Databricks Workspace UI にサインインします。
-
User Management を選択します。
-
Service principals タブを選択し、Add service principal を選択します。
-
service principal の名前を入力し、Add を選択します。service principal が作成されます。
-
Credentials & secrets タブを選択し、Generate secret を選択します。Generate OAuth secret ペインが表示されます。
-
Lifetime (days) に 730 と入力し、Generate を選択します。
注意DoiT と Databricks の接続ができるだけ長期間継続するよう、service principal の secret の有効期間は 730 日に設定することを推奨します。ただし、お客様の組織のセキュリティポリシーに合わせて期間を設定していただいて構いません。Databricks アカウントを接続した後は、DoiT ウィザードから Databricks service principal の secret を更新できます。
-
secret と Client ID の両方をコピーします。
注意secret は 1 回しか表示されません。ブラウザウィンドウを閉じる前に、必ず secret をコピーしてください。
-
Done を選択して Generate OAuth secret ペインを閉じます。
service principal に warehouse へのアクセス権を付与する
上記で作成した service principal に対して、DoiT と連携したい Databricks warehouse へのアクセス権を付与する必要があります。
-
Databricks Workspace UI で Workspaces を選択します。
-
DoiT と接続したい workspace を見つけ、ワークスペースエントリの一番右にあるケバブメニュー(⋮)から Update を選択します。
注意workspace には billing と compute のスキーマが有効化されている必要があります。
-
Permissions タブを選択し、Add permissions を選択します。Add permissions ペインが表示されます。
-
User, group, or service principal で、上記で作成した service principal を検索して選択します。
-
Permission で User が選択されていることを確認し、Save を選択します。
-
Configuration タブを選択し、Open workspace を選択します。
-
SQL editor を選択します。
-
次の内容をコピーし、New query タブに貼り付けます。
GRANT USE CATALOG ON CATALOG system TO `<client_id>`;GRANT USE SCHEMA ON SCHEMA system.access TO `<client_id>`;GRANT SELECT ON TABLE system.access.workspaces_latest TO `<client_id>`;GRANT USE SCHEMA ON SCHEMA system.billing TO `<client_id>`;GRANT SELECT ON TABLE system.billing.usage TO `<client_id>`;GRANT SELECT ON TABLE system.billing.list_prices TO `<client_id>`;GRANT USE SCHEMA ON SCHEMA system.compute TO `<client_id>`;GRANT SELECT ON TABLE system.compute.clusters TO `<client_id>`;GRANT SELECT ON TABLE system.compute.node_timeline TO `<client_id>`;GRANT SELECT ON TABLE system.compute.warehouses TO `<client_id>`;client_idを、上記で作成した service principal の ID に置き換えてください。 -
ステートメントを実行します。
-
DoiT と連携したい各 warehouse について、これらの手順を繰り返してください。