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

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 アカウントを接続するためのステップバイステップのウィザードが用意されています。複数のアカウントを接続する場合は、各アカウントごとにウィザードのセットアップを完了してください。

ウィザードを起動する

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

  1. 画面上部のナビゲーションメガメニューから データ取り込みとインテグレーション > Integrations を選択します。

  2. Databricks のインテグレーションカードを探します。

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

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

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

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

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

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

  3. DoiT コンソールに戻り、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 は 1 回しか表示されません。ブラウザウィンドウを閉じる前に、必ず 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 のスキーマが有効化されている必要があります。

  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 アクセス

上記で作成した service principal に対して、Databricks SQL access entitlement を有効にする必要があります。

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

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

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

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

  5. Configurations タブを選択し、Databricks SQL access entitlement を選択します。

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

service principal の secret を提供する

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

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

  2. Next を選択して、warehouse の追加に進みます。

    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 の数に関係なく、billing を完全にカバーするには 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 機能で利用可能になった時点で、メール通知が送信されます。

Databricks の管理

このページでは、コンソール内で Databricks アカウントを管理する方法(warehouse の追加や、プラットフォームからの Databricks アカウント削除など)について説明します。

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

DoiT とインテグレーションされている Databricks アカウントに対して、新しい Databricks ウェアハウスを接続できます。

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

  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 integrations > Integrations を選択してください。

  2. Databricks インテグレーションカードで Manage を選択してください。

  3. データを削除したい Databricks アカウントを選択してください。

  4. Databricks アカウント行の一番右端にあるケバブメニュー()を選択し、Delete warehouse を選択してください。

    Databricks アカウントを削除する

  5. Delete を選択して、DoiT から Databricks アカウントを削除してください。

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

ハンズオン形式のウォークスルーを体験できるインタラクティブデモをお試しください。

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