# Databricks

Codatumを使用して、Databricksのデータの接続、クエリ実行、管理ができます。

{% hint style="warning" %}
この機能は現在プレビュー中の機能です。仕様については予告なく変更となる場合がございます。また、一部機能に制限がある場合がございます。
{% endhint %}

## 設定方法

Databricks連携は、サーバーレスSQLウェアハウスを対象とします。

### 1. Databricksコンソールで必要な準備を行う

連携用のサービスプリンシパルを作成して、適切な権限を付与します。

#### アカウント管理画面

* メニューのユーザー管理 > サービスプリンシパルから、連携用のサービスプリンシパルを作成する
* サービスプリンシパルの資格情報とシークレットタブで、OAuthシークレットを生成する。その際、クライアントIDとシークレットを保存しておく
* サービスプリンシパルのロールタブの設定は、全てOFFにしておく
* メニューのワークスペースから連携するワークスペースを選択し、権限タブから作成したサービスアカウントを追加する

#### ワークスペース管理画面

* 接続するSQL WarehouseのCan Use許可をサービスプリンシパルに付与する
  * メニューのSQLウェアハウスから連携するウェアハウスを選択
  * 右上の権限ボタンをクリックし、連携用のサービスプリンシパルに `使用可能` 権限を付与する
* カタログを利用する権限をサービスプリンシパルに付与する
  * メニューのカタログから、連携するカタログを選択
  * 権限タブで付与ボタンをクリックし、サービスプリンシパルの選択、`SELECT` 、`USE CATALOG` 、`USE SCHEMA` 権限を付与する

### 2. CodatumにDatabricksコネクションを登録する

* `ワークスペース設定`の `コネクション`から`コネクションの追加`を選択
* `コネクション名`を入力
* `アクセスレベル`を入力
* `サーバーホスト名`を入力
  * Databricksワークスペース管理画面のメニューにあるSQLウェアハウスから、連携するウェアハウスを選択し、接続の詳細タブ内にあるサーバーのホスト名（例：`<your_instance_name>.cloud.databricks.com` ）
* `HTTPパス`を入力
  * Databricksワークスペース管理画面のメニューにあるSQLウェアハウスから、連携するウェアハウスを選択し、接続の詳細タブ内にあるHTTPパス（例：`/sql/1.0/warehouses/<your_warehouse_id>` ）
* `ウェアハウス ID`を入力
  * メニューのSQLウェアハウスから連携するウェアハウスを選択し、概要タブ内の名前の横にあるID
* `クライアント ID`を入力
  * 1で作成したサービスプリンシパルのクライアントID
* `クライアントシークレット`を入力
  * 1で作成したサービスプリンシパルのクライアントシークレット

入力が完了したら接続テストを行い、コネクションを保存してください。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.codatum.jp/connect-and-manage-data/supported-warehouses/databricks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
