メインコンテンツへスキップ

Databricks を接続する

このページでは、コンソールから Databricks アカウントを接続および管理する方法について説明します。接続後、コンソール内で Databricks の利用状況とコストデータを使用できます。詳しくは、Databricks データの利用を参照してください。

学習方法を選択してください

以下のコンテンツを読むか、ビジュアルで手順を確認できる▶️ インタラクティブデモを確認してください。

開始前の準備

Databricks を DoiT と連携するには、次の条件を満たしている必要があります。

  • Databricks の Account Admin であり、かつ metastore admin である必要があります。

  • Databricks の warehouse が Unity catalog 用に有効化されている必要があります。

  • Databricks SQL を独自のワークロードに使用していない場合でも、この連携には SQL warehouse が必要です。DoiT は、システムテーブルに対して 1 日に複数回クエリを実行するためのコンピュートエンドポイントとして SQL warehouse を使用します。

    • すでに利用可能な warehouse (自動作成される Serverless Starter Warehouse を含む) がある場合は、それを使用できます。

    • まだない場合は、ワークロードの分離性とコスト予測性を高めるため、小規模な専用の Classic SQL warehouse を作成してください。以下の設定を推奨します。

      • Type: Classic
      • Cluster size: 2X-small
      • Auto stop: 5 minutes

必要な権限

Databricks アカウントを DoiT に接続するには、DoiT アカウントに Billing Profiles Admin 権限が付与されている必要があります。

Databricks アカウントを接続する

コンソールには、Databricks アカウントを接続するためのステップバイステップのウィザードが用意されています。複数のアカウントを接続する場合は、それぞれのアカウントについてセットアップウィザードを完了してください。

ウィザードを起動する

ウィザードを起動するには、次の操作を行ってください。

  1. 画面上部のナビゲーションメガメニューから Data ingestion and integrations > Integrations を選択します。

  2. Databricks のインテグレーションカードを見つけます。

    • 最初のアカウントを追加する場合は、Connect + を選択します。

    • 追加のアカウントを設定する場合は、Manage を選択し、続けて Connect new account を選択します。

ステップ 1: アカウントを設定する

Databricks と連携する際は、Databricks アカウントの詳細を入力する必要があります。

  1. Databricks Workspace UI に Account Admin としてサインインします。

  2. Account Settings に移動し、Databricks アカウント名をコピーします。

  3. コンソールに移動し、Account name に Databricks アカウント名を入力します。

  4. 資格情報を設定するため、Next を選択します。

    Add your Databricks account

ステップ 2: 資格情報を設定する

DoiT から Databricks にプログラム的にアクセスできるようにするには、Databricks アカウントごとに 1 つの Databricks service principal を作成し、secret を生成する必要があります。資格情報の設定は 4 つのパートで構成されます。

service principal を作成する

DoiT が Databricks 環境にアクセスできるように、専用の Databricks service principal を作成し、secret を生成します。

  1. Databricks Workspace UI にサインインします。

  2. User Management を選択します。

  3. Service principals タブを選択し、Add service principal を選択します。

  4. service principal の名前を入力し、Add を選択します。service principal が作成されます。

  5. Credentials & secrets タブを選択し、Generate secret を選択します。Generate OAuth secret ペインが表示されます。

  6. Lifetime (days)730 と入力し、Generate を選択します。

    注意

    DoiT と Databricks 間の接続を可能な限り長期間継続するため、service principal の secret の有効期間を 730 日に設定することを推奨します。ただし、自社のセキュリティポリシーに合わせて期間を設定しても構いません。Databricks アカウントを接続した後は、DoiT ウィザードから Databricks service principal の secret を更新できます。

  7. secret と Client ID の両方をコピーします。

    注意

    secret は一度しか表示されません。ブラウザウィンドウを閉じる前に必ず secret をコピーしてください。

  8. Done を選択し、Generate OAuth secret ペインを閉じます。

service principal に warehouse アクセス権を付与する

上記で作成した service principal に対し、DoiT と連携したい Databricks warehouse へのアクセス権を付与する必要があります。

  1. Databricks Workspace UIWorkspaces を選択します。

  2. DoiT に接続したい workspace を探し、その行の右端にあるケバブメニュー () から Update を選択します。

    注意

    workspace では、billing と compute の schema が有効化されている必要があります。

  3. Permissions タブを選択し、Add permissions を選択します。Add permissions ペインが表示されます。

  4. User, group, or service principal で、先ほど作成した service principal を検索して選択します。

  5. PermissionUser が選択されていることを確認し、Save を選択します。

  6. Configuration タブを選択し、Open workspace を選択します。

  7. SQL editor を選択します。

  8. 次の内容をコピーし、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 に置き換えます。

  9. ステートメントを実行します。

  10. DoiT と連携したい各 warehouse について、これらの手順を繰り返します。

service principal の Databricks SQL access

上記で作成した service principal に対し、Databricks SQL access エンタイトルメントを有効にする必要があります。

  1. Databricks Workspace UI で、Databricks workspace 上部バーの自分のユーザー名を選択し、Settings を選択します。

  2. Identity and access タブを選択します。

  3. Service principals から Manage を選択します。

  4. 対象の service principal を選択して詳細ページを開きます。

  5. Configurations タブを選択し、Databricks SQL access エンタイトルメントを選択します。

  6. Update を選択します。コンソールに戻り、service principal の client ID と secret を DoiT ウィザードに追加します。

service principal の secret を入力する

Databricks service principal を作成し、secret を生成したら、それを DoiT ウィザードに追加する必要があります。

  1. コンソールに移動し、上記で作成した service principal の client ID と secret を貼り付けます。

  2. warehouse を追加するため、Next を選択します。

    Add your Databricks service principal credentials

ステップ 3: warehouse を追加する

Databricks warehouse は、Databricks workspace に保存されているデータに対して SQL クエリを実行できる SQL warehouse です。Databricks を連携するには、Databricks アカウントに属する warehouse を少なくとも 1 つ追加する必要があります。

複数の workspace から warehouse を接続することもできますが、これは workspace が複数の AWS リージョンに分散している場合にのみ必要です。そのようなケースでは、各リージョンで warehouse を接続することで、より包括的なクラスタ利用状況レポートが得られます。Databricks の請求データはアカウントレベルであり、すべての workspace を対象とするため、workspace の数に関係なく、請求データの取得という観点では 1 つの warehouse だけでも十分です。

Databricks アカウントの接続後は、Integrations catalogDatabricks インテグレーションカードから新しい warehouse を追加できます。

  1. Connect warehouse を選択します。

  2. warehouse を追加したいアカウント名を選択します。

  3. warehouse ID を入力します。

    warehouse ID を確認するには、Databricks Workspace UI にサインインし、SQL warehouses に移動して、対象の warehouse 名を選択し、詳細ページを開きます。

  4. warehouse が属している Databricks workspace の server hostname を入力します。

    server hostname を確認するには、Databricks Workspace UI にサインインし、SQL warehouses に移動して、対象の warehouse 名を選択し、詳細ページを開きます。Connection details タブを選択し、Server hostname から server hostname をコピーします。

    Add your Databricks warehouses

  5. Test connection を選択します。テストが成功したら、Add を選択します。

  6. 追加したい各 warehouse について、これらの手順を繰り返します。

  7. すべての warehouse を追加したら、Finish を選択します。

注意

初回接続時、DoiT は追加された各 warehouse について、過去6か月分の請求および利用状況の履歴データを取り込みます。

Databricks アカウントの接続が完了すると、Databricks の請求および利用状況データのインポートを開始します。この処理には数時間かかる場合があります。各 warehouse のデータが Cloud Analytics やその他の DoiT 機能で利用可能になったタイミングで、メールでお知らせします。

オプション: トークン使用データを有効化する

GenAI Intelligence で Databricks モデルサービングエンドポイントのトークン使用データ(モデルごとの入力トークン数と出力トークン数)を表示するには、DoiT サービスプリンシパルにサービングシステムテーブルへの読み取りアクセス権を付与してください。これらの権限付与はオプションであり、初期セットアップ後の任意のタイミングで追加できます。

  1. 以前に必要な権限付与を実行したワークスペースで、Databricks Workspace UI を開き、SQL editor を開きます。

  2. 次の内容をコピーして新しいクエリタブに貼り付けます。

    GRANT USE SCHEMA ON SCHEMA system.serving TO `<client_id>`;
    GRANT SELECT ON TABLE system.serving.endpoint_usage TO `<client_id>`;
    GRANT SELECT ON TABLE system.serving.served_entities TO `<client_id>`;

    client_id を DoiT サービスプリンシパルの ID に置き換えてください。

  3. ステートメントを実行します。

  4. 接続済みウェアハウスがある各リージョンごとに、これらの手順を繰り返してください。

注意

これらの権限付与がなくても、Databricks のコストデータは Cloud Analytics(クラウド分析)で利用できますが、トークン使用データは利用できません。サービング向けの権限付与が不足している場合、Assets ページの Databricks タブに表示されるパーミッションバナーに、必要な権限付与を追加するためのコピー&ペースト可能な SQL が表示されます。

Databricks を管理する

このページでは、コンソールでの Databricks アカウントの管理方法について説明します。これには、ウェアハウスの追加や、プラットフォームから Databricks アカウントを削除する方法が含まれます。

新しい Databricks ウェアハウスを接続する

DoiT と連携している Databricks アカウントに対して、新しい Databricks ウェアハウスを接続できます。

  1. DoiT コンソール にサインインし、上部ナビゲーションのメガメニューから Data ingestion and integrationsIntegrations を選択してください。

  2. Databricks インテグレーションカードで Manage を選択します。

  3. Connect warehouse を選択します。

  4. Account name で、新しいウェアハウスを接続したい Databricks アカウントを選択します。

  5. Warehouse ID に、ウェアハウス ID を入力します。

    ウェアハウス ID を確認するには、Databricks Workspace UI にサインインし、SQL warehouses に移動して、対象のウェアハウス名を選択し、詳細ページを開いてください。

  6. Server Hostname に、そのウェアハウスが属する Databricks ワークスペースのサーバーホスト名を入力します。

    サーバーホスト名を確認するには、Databricks Workspace UI にサインインし、SQL warehouses に移動して、対象のウェアハウス名を選択し、詳細ページを開いてください。Connection details タブを選択し、Server hostname からサーバーホスト名をコピーしてください。

  7. Test connection を選択します。テストが成功したら、Add を選択します。

  8. すべてのウェアハウスを追加し終えたら、Finish を選択します。Databricks ウェアハウスとの接続が完了すると、Databricks の請求および使用状況データの取り込みが開始されます。この処理には数時間かかることがあります。ウェアハウスのデータが Cloud Analytics やその他の DoiT 機能で利用可能になると、メールでお知らせします。

Databricks アカウントを削除する

Databricks ウェアハウスを削除することで、コンソールから Databricks のコストおよび使用状況データを削除できます。

  1. DoiT コンソール にサインインし、上部ナビゲーションのメガメニューから Data ingestion and integrationsIntegrations を選択してください。

  2. Databricks インテグレーションカードで Manage を選択します。

  3. データを削除したい Databricks アカウントを選択します。

  4. 対象の Databricks アカウントの一番右端にあるケバブメニュー()を選択し、Delete warehouse を選択します。

    Delete your Databricks account

  5. Delete を選択して、DoiT から Databricks アカウントを削除します。

▶️ インタラクティブデモ

インタラクティブデモを利用して、ハンズオン形式のウォークスルーをお試しください。

デモが正しく表示されない場合は、ブラウザウィンドウを拡大するか、新しいタブでデモを開いてお試しください。