Databricksクラスターライブラリ

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

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

クラスターライブラリは、クラスターで稼働しているすべてのノートブックから利用することができます。PyPIやMavenのような公開リポジトリから直接クラスターライブラリをインストールしたり、事前にインストールされたワークスペースライブラリからインストールすることができます。

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

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

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

さらに、ライブラリにカスタムの設定が必要な場合、上述の方法を用いてライブラリをインストールすることができないかもしれません。代わりに、クラスター作成時に[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**をクリックします。

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

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

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

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

ワークスペースライブラリとして利用できるようにせずに、特定のクラスターにライブラリをインストールすることができます。

クラスターにライブラリをインストールするには以下を実施します。

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

## initスクリプト

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

以下に、クラスター作成時にDatabricksランタイムクラスターにPythonライブラリをインストールするためにpipを使用するinitスクリプトのサンプルを示します。

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

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

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

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

ライブラリをアンインストールするには、クラスターUIあるいはライブラリ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)