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

Important

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

従来のコンピュートでは、 Environments 依存モードにより、コンピュートスコープライブラリをインストールする代わりに ベース環境 を使ってワークロードレベルで依存関係を管理できます。 これは サーバーレスコンピュートで使われているのと同じモデルです。

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

環境依存モードを使う計算に接続した後、ノートブックの環境側ペインからベース環境を選択し、依存関係を追加できます。 「 ノートブック内の環境使用」を参照してください。

Requirements

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

  • Databricks Runtime 19(ベータ)以降
  • 標準アクセスモード
  • インタラクティブノートブックでの万能計算実行

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

依存モードを設定する

環境依存モードを使用する計算を作成するには:

  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側ペインからノートブックの環境を設定すること。

ベース環境を選択する

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

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

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

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

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

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

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

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

Important

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

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

Limitations

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

  • クラシックジョブは 環境 依存モードを使いません。 ジョブが 環境 モードを指定するクラシックな万能計算で動作する場合、その設定は無視され、代わりに クラスタライブラリ モードで実行されます。
  • %scala コードはサポートされておらず、失敗します。
  • Rのサポートも含め、すべての標準的なアクセスモードの制限が適用されます。標準 計算要件と制限を参照してください。
  • 現在、 コンピュートポリシーを使って依存モードの設定を強制することはできません。

互換性のない設定

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

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