環境を使った依存関係の管理

Important

この機能は ベータ版です。 アカウント管理者は、標準計算環境のトグルを使って、アカウントコンソールのプレビューページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

環境依存モードを使用するクラシックなコンピュートリソースでは、コンピュートスコープライブラリをインストールする代わりにベース環境を使ってワークロードレベルで依存関係を管理します。

環境設定は計算レベルの変化から隔離されているため、計算が下に変化してもワークロードが壊れません。 また、Azure Databricksはベース環境をキャッシュするため、依存関係は起動時に解決・インストールされないため、計算がより速く開始され、パッケージ解決、リポジトリの可用性、ネットワークの信頼性による失敗を避けられます。

Environments依存モードを使用するクラシックなコンピュートリソースに接続されたノートブックでは、ベース環境を選択し、ノートブックのEnvironmentサイドペインから依存関係を追加します。 ジョブタスクについては、ジョブ環境仕様で依存関係を設定しましょう。

Requirements

依存モード設定は、以下の要件を満たす計算でのみ利用可能です:

サポートの詳細は 「制限事項」を参照してください。

依存モードを設定する

環境依存モードを使用するクラシックな計算リソースを作成するには:

  1. ワークスペースのサイドバーで「compute」アイコン「Compute」をクリックし、「All-Purpose compute」タブを開きます。

  2. [コンピュートの作成] をクリックします。

  3. パフォーマンス欄からDatabricksのランタイムバージョンドロップダウンメニューから19ベータ以上を選択してください。

  4. 「詳細」セクションを展開し、「依存関係」をクリックします。

  5. 依存モードについては、Azure Databricksがモードを解決するために自動を選択し、手動をクリックして環境を選択して自分で設定してください。 依存 モードのオプションを参照してください。

    コンピューティング作成フォームの詳細設定セクションにある [依存関係] タブ。依存関係モードは [自動] に設定され、Environments に解決されます。

  6. 残りの計算を設定し、その後 「作成」をクリックします。

計算が実行された後、ノートブックを接続し、「 ノートブックの環境の使用」で説明されている環境を設定します。

依存モードのオプション

依存モード制御には、モードの選択方法を決定する2つの設定があります。

  • 自動:Azure Databricksはコンピュート設定に基づいてモードを解決します。 コンピュートがDocker、Spark環境変数、またはinitスクリプトを指定しない限り、自動で Environments に解決されます。その場合は クラスタライブラリに解決されます。
  • マニュアル:環境ライブラリかクラスターライブラリを自分で選択します。

マニュアルを選択したら、ご自身のニーズに合ったモードを選択してください:

  • 環境:ベース環境を使ってワークロードレベルで依存関係を管理します。 クラスタライブラリ、Docker、Spark環境変数、initスクリプトは無効化されています。 このモードで各ワークロードの依存関係を分離できます。
  • クラスターライブラリ:古典的な挙動。 クラスタライブラリ、initスクリプト、またはDockerを使ってコンピュート依存関係をインストールしてください。 これらの設定が必要ならこのモードを使いましょう。

既存の計算を更新する

既存のコンピュートの設定を編集する場合、initスクリプト、クラスタライブラリ、Dockerなどのコンピュート設定が互換性がない場合、 環境 モードへの切り替えがブロックされます。 まず互換性のない設定を削除すれば、その後依存モードを編集できます。

環境モードからクラスタライブラリモードに切り替えると、接続されたノートブックは環境選択を保持しますが、それらの選択は非アクティブになります。 コンピュートを 環境 モードに戻すと、その選択が再び有効になります。

ノートブック内の環境の利用

ノートブック内で環境を使用するには、ノートブックを Environments 依存モードを使用するクラシックなコンピュートリソースに接続します。 ノートブックを接続した後、 Environment 側のペイン 環境からノートブックの依存関係を設定します。

Environment依存モードを使用するクラシックなコンピュートリソースのEnvironment側ペインからノートブックの環境を設定すること。

ベース環境を選択する

ベース環境はノートブックに利用可能なプリインストール済みのライブラリと環境バージョンを決定します。 [環境] サイド ウィンドウの [基本環境] セレクターでは、環境を選択します。 Databricks では、最新バージョンを使用して、ノートブック機能を最新の状態に保つことをお勧めします。 各環境バージョンの詳細は 「環境バージョン」をご覧ください。

基本環境セレクターには、次のオプションが含まれています。

  • 標準: Databricks が提供するライブラリを含む既定の基本環境。
  • ML: Databricks Runtime for Machine Learning の Python パッケージとシステム パッケージがプリインストールされた基本環境。
  • その他: 展開して追加のオプションを表示します。
    • スタンダードおよびML環境の過去バージョン。
    • カスタム: YAML ファイルを使用してカスタム環境を指定します。
  • ワークスペース環境:ワークスペース管理者によってワークスペース向けに設定されたすべての互換性のあるベース環境を一覧にします。

ノートブックに依存関係を追加する

Azure Databricksはノートブックの仮想環境をキャッシュするため、ノートブックを再度開いたり、非アクティブ状態の後に再開したりするたびに依存関係が再インストールされることはありません。

依存関係を個別にインストールするには:

  1. 依存関係セクションで、依存関係のパスをフィールドに入力し、+依存関係を追加をクリックします。 依存関係は、requirements.txt ファイルで有効な形式であれば、どの形式でも指定できます。 Python ホイール ファイルまたは Python プロジェクト ( pyproject.toml や setup.pyを含むディレクトリなど) は、ワークスペース ファイルまたは Unity カタログ ボリュームに配置できます。

    • ワークスペース ファイルを使用する場合、パスは絶対パスで、 /Workspace/で始まる必要があります。
    • Unity カタログ ボリュームでファイルを使用する場合、パスは次の形式にする必要があります: /Volumes/<catalog>/<schema>/<volume>/<path>.whl。
  2. Apply をクリックして依存関係をインストールし、Python プロセスを再起動します。

Important

ノートブックには、PySpark や、依存関係として PySpark をインストールするライブラリをインストールしないでください。 インストールすると、セッションが停止しエラーが発生します。 もしそうなら、ライブラリを削除して環境をリセットしてください。

インストール済みの依存関係を見るには、環境側のペインにある「インストール済み」タブをクリックしてください。 ウィンドウの下部にある pip ログ をクリックして、ノートブック環境の pip インストール ログを開きます。

仕事で環境を使う

Environments依存モードを使用するクラシックな計算リソース上で動作するジョブタスクについては、ジョブ環境仕様で依存関係を設定してください。 ジョブ環境は、ベース環境と、1つ以上のタスクが参照できる追加の依存関係を指定します。

ジョブタスクの環境を設定するには、以下のステップを踏みます:

  1. ジョブ内でタスクを作成または編集する。
  2. Compute では、Environments dependency Mode を使用する既存のクラシック計算リソースを選択するか、Classic jobs compute を追加します。
  3. クラシックジョブの計算を追加したら、 Advancedを展開してください。
  4. 依存関係をクリックします。
  5. 依存モードでは、手動 と 環境 を選択するか、自動 が 環境 に解決される場合はそのままにしてください。
  6. タスク設定の 「環境とライブラリ 」で、タスク用の環境を設定します。 各タスクタイプで利用可能なオプションについては 「ジョブタスクの環境設定 」を参照してください。

環境 依存モード を使用するクラシックな計算リソース上で動作するタスクは、 依存ライブラリ のタスク設定をサポートしません。 代わりに環境に依存関係を追加してください。

Limitations

環境依存モードは、インタラクティブノートブックやジョブタスクにおけるPythonワークロードおよび依存関係をサポートします。 次の制限事項が適用されます。

  • Spark JARタスクは、 環境 依存モードを使用するクラシックな計算リソースではサポートされていません。
  • %scalaコードを実行すると失敗します。
  • Rのサポートも含め、すべての標準的なアクセスモードの制限が適用されます。標準 計算要件と制限を参照してください。

互換性のない設定

環境依存モードが有効になると、以下の計算設定は無効になります。

  • Docker (Azure Databricks Container Services)
  • スパーク環境変数
  • 初期化スクリプト
  • クラスター ライブラリ