次の方法で共有


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

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

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

サーバーレス環境パネル

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

Important

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

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

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

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

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

Important

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

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

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

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

サーバーレス予算ポリシーを選択する

Important

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

サーバーレス予算ポリシーを使用すると、組織はサーバーレス使用量にカスタム タグを適用して、詳細な課金属性を設定できます。

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

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

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

サーバーレス予算ポリシーを含むサーバーレス ノートブック環境パネル

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

Note

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

環境のバージョンを選択する

環境バージョンを使用すると、サーバーレス ワークロードは、アプリケーションの互換性に影響を与えることなく、独立したエンジンのアップグレードを受け取ります。 各環境バージョンの詳細については、 サーバーレス環境のバージョンに関するページを参照してください。 Databricks では、最新バージョンを選択して最新のノートブック機能を入手することを推奨しています。

環境バージョンを選択するには:

  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 インストール ログも使用できます。

基本環境に依存関係を追加する

ベース環境とは、追加の環境依存関係を指定する YAML ファイルで、ワークスペース ファイルとして保存するか、Unity Catalog のボリュームに格納されます。 ワークスペースの基本環境の 1 つを [ 基本環境 ] ドロップダウン メニューから選択するか、[ カスタム ] を選択してカスタム環境の仕様を使用できます。

基本環境の上に追加の依存関係を個別にインストールできます。 個別にインストールされた依存関係は、そのノートブックの基本環境をオーバーライドまたは拡張します。

ワークスペース管理者の手順については、「 サーバーレス基本環境の管理」を参照してください。

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

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

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

ノートブックでカスタム環境仕様を使用するには、[基本環境] ドロップダウン メニューから [カスタム] を選択し、フォルダー アイコン re:[フォルダー アイコン] を使用して 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 ファイルで定義されたカスタム基本環境がサポートされます。 ノートブック タスクの場合は、ジョブの環境構成でカスタム基本環境を選択するか、ワークスペース環境とカスタム基本環境の両方をサポートするノートブック独自の環境設定を使用できます。 いずれの場合も、タスクに必要な依存関係のみが実行時にインストールされます。