# 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で作成したサービスプリンシパルのクライアントシークレット

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