Databricksのクラスターライブラリ

[Cluster libraries \| Databricks on AWS](https://docs.databricks.com/libraries/cluster-libraries.html) [2021/7/16時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

クラスターライブラリは、クラスターで実行される全てのノートブックで使用することができます。PyPIやMavenのように公開されているリポジトリ、事前にインストール済みのワークスペースライブラリ、initスクリプトを用いてクラスターライブラリをインストールすることができます。

# クラスターにライブラリをインストールする

クラスターにライブラリをインストールするには主に2つの方法があります。

- ワークスペースにすでにアップロードされている[ワークスペースライブラリ](https://docs.databricks.com/libraries/workspace-libraries.html)をインストールする。
- 特定のクラスターでのみ使用するライブラリをインストールする。

さらに、お使いのライブラリがカスタム設定を必要とする場合には、上述した方法でライブラリをインストールすることができないかもしれません。その場合には、クラスター作成時に実行される[initスクリプト](#initスクリプト)を用いてライブラリをインストールすることができます。

:::note info
**注意**
クラスターにライブラリをインストールする際、当該クラスターにすでにアタッチされているノートブックで即座に新規ライブラリを参照できません。まずクラスターからノートブックを[デタッチ](https://qiita.com/taka_yayoi/items/c306161906d6d34e8bd5#%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%8B%E3%82%89%E3%83%8E%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF%E3%82%92%E3%83%87%E3%82%BF%E3%83%83%E3%83%81%E3%81%99%E3%82%8B)し、再度クラスターにノートブックを[再度アタッチ](https://qiita.com/taka_yayoi/items/c306161906d6d34e8bd5#%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%AB%E3%83%8E%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF%E3%82%92%E3%82%A2%E3%82%BF%E3%83%83%E3%83%81%E3%81%99%E3%82%8B)してください。
:::

## ワークスペースライブラリ

:::note info
**注意**
Databricksランタイム7.2以降では、クラスターにインストールされた順序で、Databricksは全てのワークスペースのライブラリを処理します。Databricksランタイム7.1以前では、MavenとCRANのライブラリは、クラスターにインストールされた順序で処理しされます。

ライブラリ間に依存関係がある場合には、クラスターにライブラリをインストールする順番に注意してください。
:::

ワークスペースにすでに存在しているライブラリをインストールするには、クラスターUIかライブラリUIからスタートすることができます。

### クラスター

1. サイドバーの![](https://docs.databricks.com/_images/clusters-icon.png)**Compute**をクリックします。
1. クラスター名をクリックします。
1. **Libraries**タブをクリックします。
1. **Install New**をクリックします。
1. Library Sourceのボタンリストで**Workspace**を選択します。
1. ワークスペースライブラリを選択します。
1. **Install**をクリックします。
1. 全てのクラスターにライブラリがインストールされるように設定するには、以下の設定を行います。
    1. ライブラリをクリックします。
    1. **Install automatically on all clusters**チェックボックスを選択します。
    1. **Confirm**をクリックします。

### ライブラリ

1. ライブラリを格納しているフォルダに移動します。
1. ライブラリ名をクリックします。
1. 以下のいずれかを実施します。

- 全てのクラスターにライブラリがインストールされるように設定するには、**Install automatically on all clusters**チェックボックスを選択し、**Confirm**をクリックします。

:::note warn
**重要！**
このオプションはDatabricksランタイム7.0以降が動作しているクラスターにはインストールをしません。
:::

- ライブラリをインストールするクラスターの隣のチェックボックスを選択し、**Install**をクリックします。

ライブラリがクラスターにインストールされます。

## クラスターライブラリ

ワークスペースライブラリにすることなしに、特定のクラスターにライブラリをインストールすることができます。

1. サイドバーの![](https://docs.databricks.com/_images/clusters-icon.png)**Compute**をクリックします。
1. クラスター名をクリックします。
1. **Libraries**タブをクリックします。
1. **Install New**をクリックします。
1. [ワークスペースライブラリ](#ワークスペースライブラリ)の作成手順のどれかを実施してください。**Create**をクリックすると、クラスターにライブラリがインストールされます。

## initスクリプト

ライブラリでカスタム設定が必要である場合には、ワークスペースライブラリ、クラスターライブラリインタフェースでライブラリをインストールできない場合があります。この場合には、[initスクリプト](https://qiita.com/taka_yayoi/items/88cb46be00a175085f87)を使ってインストールすることができます。

クラスターの初期化の際に、DatabricksランタイムクラスターでPythonライブラリのインストールにpiを使用するiniスクリプトの例を示します。

```bash:Bash
#!/bin/bash

/databricks/python/bin/pip install astropy
```

# クラスターからライブラリをアンインストールする

:::note info
**注意**
クラスターからライブラリをアンインストールする際、クラスターを再起動して初めてライブラリが削除されます。クラスターを再起動するまでは、アンインストールされたライブラリのステータスは、**Uninstall pending restart**となります。
:::

クラスター、ライブラリのUIからライブラリのアンインストールをスタートすることができます。

## クラスター

1. サイドバーの![](https://docs.databricks.com/_images/clusters-icon.png)**Compute**をクリックします。
1. クラスター名をクリックします。
1. **Libraries**タブをクリックします。
1. クラスターの隣にあるチェックボックスで、アンインストールしたいライブラリを選択し、**Uninstall**をクリックし、**Confirm**をクリックします。ステータスが**Uninstall pending restart**に変化します。

## ライブラリ

1. ライブラリを格納しているフォルダに移動します。
1. ライブラリ名をクリックします。
1. クラスターの隣にあるチェックボックスで、アンインストールしたいライブラリを選択し、**Uninstall**をクリックし、**Confirm**をクリックします。ステータスが**Uninstall pending restart**に変化します。
1. クラスター詳細ページに移動するためにクラスター名をクリックします。

ライブラリをアンインストールするために**Restart**と**Confirm**をクリックします。ライブラリはクラスターのLibrariesタブから削除されます。

# クラスターにインストールされているライブラリを参照する

1. サイドバーの![](https://docs.databricks.com/_images/clusters-icon.png)**Compute**をクリックします。
1. クラスター名をクリックします。
1. **Libraries**タブをクリックします。それぞれのライブラリに対して、名前とバージョン、タイプ、[インストールのステータス](https://docs.databricks.com/dev-tools/api/latest/libraries.html#managedlibrarieslibraryinstallstatus)、そして、アップロードされている場合にはソースファイルが表示されます。

# クラスターライブラリをアップデートする

クラスターライブラリをアップデートするには、古いバージョンのライブラリをアンインストールし、新規バージョンをインストールします。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)