次の方法で共有


サーバーレス環境を構成する

この記事では、サーバーレス ノートブックの [環境 ] サイド パネルを使用して、依存関係、サーバーレス使用ポリシー、メモリ、基本環境を構成する方法について説明します。 このパネルには、ノートブックのサーバーレス設定を管理するための 1 つの場所が用意されています。 このパネルで構成された設定は、ノートブックがサーバーレス コンピューティングに接続されている場合にのみ適用されます。

[環境] サイド パネルを展開するには、ノートブックの右側にある環境ボタンをクリックします。

サーバーレス環境パネル

サーバーレス GPU コンピューティングを使用する

Important

サーバーレス GPU コンピューティングは ベータ版です

Databricks ノートブックでサーバーレス GPU コンピューティングを使用するには、次の手順に従います。

  1. ノートブックで、上部にある [接続 ] ドロップダウン メニューをクリックし、[ サーバーレス GPU] を選択します。
  2. [ 環境] アイコン をクリックして、[ 環境 ] サイド パネルを開きます。
  3. [アクセラレータ] フィールドから A10 を選択します。
  4. [ 基本環境] で、既定の環境の 場合は [Standard ] を 選択し、 事前にインストールされている機械学習ライブラリを使用する AI 最適化環境の場合は [AI] を選択します。
  5. [ 適用 ] をクリックし、サーバーレス GPU コンピューティングをノートブック環境に適用することを 確認 します。

詳細については、「 サーバーレス GPU コンピューティング」を参照してください。

高メモリ サーバーレス コンピューティングを使用する

Important

この機能は パブリック プレビュー段階です

ノートブックでメモリ不足エラーが発生した場合は、より大きなメモリ サイズを使用するようにノートブックを構成できます。 この設定により、ノートブックでコードを実行するときに使用される REPL メモリのサイズが大きくなります。 Spark セッションのメモリ サイズには影響しません。 メモリが多いサーバーレス使用量は、標準メモリよりも DBU の放射率が高くなります。

  1. ノートブック UI で、[ 環境 ] サイド パネル 環境をクリックします。
  2. [メモリ] で、[大容量メモリ] を選択します。
  3. [適用] をクリックします。

この設定は、ノートブックのメモリ設定を使用して実行されるノートブック ジョブ タスクにも適用されます。 ノートブックのメモリ設定を更新すると、次のジョブの実行に影響します。

サーバーレス使用ポリシーを選択する

Important

この機能は パブリック プレビュー段階です

サーバーレス使用ポリシーを 使用すると、組織は、詳細な課金属性のために、サーバーレスの使用状況にカスタム タグを適用できます。

ワークスペースでサーバーレス使用ポリシーを使用してサーバーレスの使用状況を属性付けする場合は、ノートブックに適用するサーバーレス使用ポリシーを選択できます。 ユーザーが 1 つのサーバーレス使用ポリシーにのみ割り当てられている場合、そのポリシーは既定で選択されます。

ノートブックがサーバーレス コンピューティングに接続された後は、 環境 のサイド パネルを使用して、サーバーレス使用ポリシーを選択できます。

  1. ノートブック UI で、[ 環境 ] サイド パネル 環境をクリックします。
  2. [ 使用状況ポリシー ] で、ノートブックに適用するサーバーレス使用ポリシーを選択します。
  3. [適用] をクリックします。

このセットアップが完了すると、すべてのノートブックの使用は、サーバーレス使用ポリシーのカスタム タグを継承します。

Note

ノートブックが Git リポジトリから作成された場合、または サーバーレス使用ポリシーが割り当てられない場合は、次にサーバーレス コンピューティングにアタッチされるときに、最後に選択したサーバーレス使用ポリシーが既定で設定されます。

基本環境を選択する

基本環境によって、サーバーレス ノートブックで使用できるプレインストール済みのライブラリと環境のバージョンが決まります。 [環境] サイド パネルの [基本環境] セレクターには、環境を選択するための統一されたインターフェイスが用意されています。 各環境バージョンの詳細については、 サーバーレス環境のバージョンに関するページを参照してください。 Databricks では、最新バージョンを使用して、ノートブック機能を最新の状態に保つことをお勧めします。

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

  • 標準: Databricks が提供するライブラリを含む既定の基本環境。
  • AI: 事前にインストールされた機械学習ライブラリを備えた AI 最適化ベース環境。 このオプションは、アクセラレータ (GPU) が選択されている場合にのみ表示されます。
  • その他: 展開して追加のオプションを表示します。
    • 以前のバージョンの Standard 環境と AI 環境。
    • カスタム: YAML ファイルを使用してカスタム環境を指定できます。
  • ワークスペース環境: 管理者によってワークスペース用に構成されたすべての互換性のある基本環境が一覧表示されます。

基本環境を選択するには:

  1. ノートブック UI で、[ 環境 ] サイド パネル 環境をクリックします。
  2. [ 基本環境] で、ドロップダウン メニューから環境を選択します。
  3. [適用] をクリックします。

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

サーバーレスはコンピューティング ポリシーや init スクリプトをサポートしていないため、 環境 サイド パネルを使用してカスタム依存関係を追加する必要があります。 依存関係を個別に追加することも、共有可能な基本環境を使用して複数の依存関係をインストールすることもできます。

依存関係を個別に追加するには:

  1. ノートブック UI で、[ 環境 ] サイド パネル 環境をクリックします。

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

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

Important

サーバーレス ノートブックには、PySpark または PySpark を依存関係としてインストールするライブラリをインストールしないでください。 インストールすると、セッションが停止しエラーが発生します。 これが発生した場合は、そのライブラリを削除し、環境をリセットしてください。

インストールされている依存関係を表示するには、[環境] サイド パネルの [インストール済み] タブをクリックします。 パネルの下部にある pip ログ をクリックして、ノートブック環境の pip インストール ログも使用できます。

カスタム環境仕様を作成する

カスタム環境仕様を作成して再利用できます。

  1. サーバーレス ノートブックで、環境バージョンを選択し、インストールする依存関係を追加します。
  2. Kebab メニュー アイコン [Kebab] メニュー アイコン をクリックします。環境パネルの下部にある [ 環境のエクスポート] をクリックします。
  3. 仕様をワークスペース ファイルまたは Unity カタログ ボリュームとして保存します。

ノートブックでカスタム環境仕様を使用するには、[基本環境] ドロップダウン メニューから [カスタム] を選択し、フォルダー アイコンの [フォルダー] アイコンを使用します。YAML ファイルを選択します。

ワークスペース間で共有する共通ユーティリティを作成する

次の例では、ワークスペース ファイルに共通ユーティリティを格納し、サーバーレス ノートブックに依存関係として追加する方法を示します。

  1. 次の構造のフォルダーを作成します。 プロジェクトのコンシューマーがファイル パスに適切なアクセス権を持っていることを確認します。

    helper_utils/
    ├── helpers/
    │   └── __init__.py   # your common functions live here
    ├── pyproject.toml
    
  2. pyproject.toml を次の形式で入力してください。

    [project]
    name = "common_utils"
    version = "0.1.0"
    
  3. init.py ファイルに関数を追加します。 例えば次が挙げられます。

    def greet(name: str) -> str:
        return f"Hello, {name}!"
    
  4. ノートブック UI で、[ 環境 ] サイド パネルの [環境] アイコンをクリックします。

  5. [ 依存関係 ] セクションで、[ 依存関係の追加 ] をクリックし、util ファイルのパスを入力します。 たとえば、 /Workspace/helper_utilsと指定します。

  6. [適用] をクリックします。

これで、ノートブックで関数を使用できるようになりました。

from helpers import greet
print(greet('world'))

これは次のように出力されます。

Hello, world!

環境の依存関係をリセットする

ノートブックがサーバーレス コンピューティングに接続されている場合、Databricks はノートブックの仮想環境のコンテンツを自動的にキャッシュします。 つまり、既存のノートブックを開くときに、環境 サイド パネルで指定されている Python 依存関係が非アクティブな状態で切断されている場合でも、通常は再インストールする必要はありません。

Python 仮想環境のキャッシュは、ジョブにも適用されます。 ジョブが実行されると、必要な依存関係は既に使用可能であるため、その実行において完了したタスクと同じ依存関係セットを共有するジョブのタスクは高速になります。

Note

サーバーレス上のジョブで使用されるカスタム Python パッケージの実装を変更する場合は、ジョブが最新の実装を取得できるように、そのバージョン番号も更新する必要があります。

環境キャッシュをクリアし、サーバーレス コンピューティングに接続されているノートブックの 環境 側パネルで指定された依存関係の新しいインストールを実行するには、[ 適用 ] の横にある矢印をクリックし、[ 既定値にリセット] をクリックします。

コア ノートブックまたは Apache Spark 環境を中断または変更するパッケージをインストールする場合は、問題のあるパッケージを削除してから、環境をリセットします。 新しいセッションを開始しても、環境キャッシュ全体がクリアされるわけではありません。

既定の Python パッケージ リポジトリを構成する

ワークスペース管理者は、サーバーレス ノートブックとサーバーレス ジョブの両方の既定の pip 構成として、ワークスペース内のプライベートまたは認証済みのパッケージ リポジトリを構成できます。 これにより、ユーザーは、index-urlextra-index-url を明示的に定義することなく、内部 Python リポジトリからパッケージをインストールできます。

手順については、ワークスペース管理者が 「既定の Python パッケージ リポジトリの構成」を参照してください。

ジョブ タスクの環境を構成する

ノートブック、Python スクリプト、Python ホイール、JAR、dbt タスクなどのジョブ タスクの種類の場合、ライブラリの依存関係はサーバーレス環境バージョンから継承されます。 インストールされているライブラリの一覧を表示するには、使用している環境バージョンインストール済み Python ライブラリまたはインストール済みの Java および Scala ライブラリのセクションを参照してください。 タスクにインストールされていないライブラリが必要な場合は、 ワークスペース ファイル、Unity カタログ ボリューム、またはパブリック パッケージ リポジトリからライブラリ インストールできます。

既存のノートブックの環境を持つノートブックの場合は、ノートブックの環境を使用してタスクを実行するか、代わりにジョブ レベルの環境を選択してオーバーライドできます。

Important

JAR タスクにサーバーレス コンピューティングを使用することは ベータ版です

ジョブ タスクを作成または編集するときにライブラリを追加するには:

  1. [環境とライブラリ] ドロップダウン メニューで、 next to the Edit IconEdit Icon[既定] 環境の横にある をクリックするか、[+ 新しい環境を追加] をクリックします。

    既定の環境を編集する

  2. [環境バージョン] ドロップダウンから環境バージョンを選択します。 「サーバーレス環境バージョン」を参照してください。 Databricks では、最新バージョンを選択して最新の機能を入手することを推奨しています。

  3. [環境の構成] ダイアログで、[+ ライブラリを追加] をクリックします。

  4. [ライブラリ] ドロップダウン メニューから依存関係の種類を選択します。

  5. [ファイル パス] テキスト ボックスに、ライブラリへのパスを入力します。

  • ワークスペース ファイル内の Python Wheel を指定する場合、パスは先頭に /Workspace/ が付いた絶対パスである必要があります。

  • Unity Catalog ボリューム内の Python Wheel の場合、パスは /Volumes/<catalog>/<schema>/<volume>/<path>.whl と指定します。

  • requirements.txt ファイルの場合は、PyPi を選択し、「-r /path/to/requirements.txt」と入力します。

    タスク ライブラリを追加する

  1. 別のライブラリを追加するには、[確認] をクリックするか、[+ ライブラリの追加] をクリックします。
  2. タスクを追加する場合は、[タスクの 作成] をクリックします。 タスクを編集している場合は、[タスクの 保存] をクリックします。

ジョブ タスクの基本環境

サーバーレス ジョブでは、Python、Python ホイール、ノートブック タスク用の YAML ファイルで定義されたカスタム基本環境がサポートされます。 ノートブック タスクの場合は、ジョブの環境構成でカスタム基本環境を選択するか、ワークスペース環境とカスタム基本環境の両方をサポートするノートブック独自の環境設定を使用できます。 いずれの場合も、タスクに必要な依存関係のみが実行時にインストールされます。