Important
この機能は ベータ版です。 これを使うには、ワークスペース管理者がPreviewsページからProject-Scoped Shared Computeを有効にする必要があります。 Manage Azure Databricks プレビューを参照してください。
Shared Serverlessでは、同じGitフォルダまたはバンドル内のノートブックとファイルが、エディター内でサーバーレスコンピュートと Python 環境を共有します。 環境をカスタマイズするには、フォルダー直下に pyproject.toml ファイルを追加してください。 ノートブックやファイルを添付するには、 Gitフォルダ や 宣言的自動化バンドルの手順に従ってください。
Requirements
- ワークスペースはサーバーレス コンピューティングの要件を満たしている必要があります。
- GitフォルダやバンドルをGitフォルダエディターまたはバンドルエディターで開いてください。 ワークスペース内の「Gitフォルダの作成と管理」と「Author Bundles」をご覧ください。
- 共有サーバーレスはサーバーレス環境バージョン5以上が必要です。
共有計算および環境
- 同じGitフォルダやバンドル内のノートブックとファイルは、エディタ内でコンピュートとPython環境を共有します。 フォルダルートにあるオプションの
pyproject.tomlファイルが共有環境を定義します。 - 関連するGitフォルダまたはバンドル内のノートブックとファイルのみが共有のコンピュートリソースにアタッチできます。
- 共有された計算資源はユーザーごとに隔離されます。 ノートブックやファイルを共有コンピュートリソースに最初に添付したユーザーだけが、その上でワークロードを実行できます。
- ノートブックの実行は依然として分離されたままです。 あるノートブックで定義されたPython変数は、別のノートブックでは利用できません。
- 接続されたノートブックやファイルから開かれた ウェブ端末 は、同じコンピュートリソース上で動作します。
GitフォルダでShared Serverlessを使います
Shared Serverlessを使って、 Gitフォルダ内のノートブックやファイルを扱うことができます。
Git フォルダー エディタでノートブックやファイルを添付します
ワークスペースのサイドバーで「 Workspace 」をクリックし、Gitフォルダに移動します。
エディターで開くをクリックします。
Gitフォルダ内のノートブックやファイルを開きます。
計算ドロップダウンメニューをクリックしてください。
共有 Serverlessを選択します。
ノートブックやファイルを実行してコンピュートリソースを起動します。
別のノートブックやファイルから同じコンピューティングを使うには、同じGitフォルダ内で開いて「共有サーバーレス」を選択してください。
Gitを通じたコラボレーション
Databricksは、各コラボレーターがリポジトリを自分の個人ワークスペースフォルダ内のGitフォルダに クローン することを推奨しています。 各コラボレーターには、クローン用に個別の計算リソースと環境が割り当てられます。
ブランチ、コミット、プッシュ、プルを使ってリモートGitリポジトリを通じて変更を交換します。 「 Gitフォルダでのコラボレーション」を参照してください。
バンドルでShared Serverlessを使用する
ワークスペース内のバンドルでノートブックやファイルを扱うには、Shared Serverless を使いましょう。 バンドルルートには databricks.yml が含まれ、共有環境を定義する pyproject.toml ファイルが含まれる場合があります。
バンドルエディターでノートブックやファイルを添付してください
- ワークスペースのサイドバーで「 ワークスペース 」をクリックしてバンドルに移動します。
- バンドル名の右側で「 エディターで開く」をクリックします。
- バンドルのノートブックやファイルを開いてみてください。
- 計算ドロップダウンメニューをクリックしてください。
- 共有 Serverlessを選択します。
- ノートブックやファイルを実行してコンピュートリソースを起動します。
他のノートブックやファイルから同じコンピュートを使うには、同じバンドル内で開いて 「共有サーバーレス」を選択してください。
Gitでコラボレーションするには、各コラボレーターがリポジトリを自分の個人ワークスペースフォルダ内のGitフォルダにクローンします。 「Git を使用したコラボレーション」を参照してください。
pyproject.tomlで環境を管理
Shared Serverlessは、Gitフォルダやバンドルルートにあるpyproject.tomlファイルを使ってプロジェクトのPython依存関係を管理します。 標準的なサーバーレスノートブックは、Environment 側のペインで各ノートブックごとに設定された依存関係を使用します。
依存関係を管理する前に、ルートの pyproject.toml ファイルを作成し、そのファイルのサーバーレス環境のバージョンを設定します。 「 作成および編集 pyproject.toml」をご覧ください。 その後、ノートブックコマンドで依存関係を追加したり、ファイルを直接編集したりできます。
ノートブック コマンドを使用する
Shared Serverless に紐づいたノートを開きます。
ルート
pyproject.tomlファイルに依存関係を追加する%uv add <package>実行してください。 例えば次が挙げられます。%uv add cowsay
コマンドは pyproject.toml、 uv.lock、共有環境を更新します。
%uv sync後に%uv addを実行する必要はありません。
%uv syncを使って、直接pyproject.tomlに加えた変更を適用してください。
作成および編集pyproject.toml
共有サーバーレスに紐づいたノートブックを開きます。
環境側のペインを開く。
Managed by pyproject.toml カードで、
[pyproject.toml を作成] をクリックして、ルート ファイルを作成します。 ファイルがすでに存在する場合は、
pyproject.tomlを表示してください。 エディターでファイルが開きます。
dependenciesリストを編集してください。 生成された[tool.databricks.environment]セクションは残すか、抜けているなら追加してください。environment_versionをサポートされているバージョン(5以上)に設定してください。 例えば次が挙げられます。[project] name = "my-project" version = "0.1.0" dependencies = [ "simplejson==3.18.1", ] [tool.databricks.environment] environment_version = "5"pyproject.tomlファイル エディターの上部にある [適用] をクリックします。
更新された環境は、同じ共有コンピュートリソースに接続されたノートブックやファイルに利用可能です。 環境をチェックするには、 環境 サイドのペインを開きます。 サーバーレス環境のバージョンやインストールされた依存関係に関する情報は 「サーバーレス環境の設定」 を参照してください。
ノートブックをスケジュールする
Git フォルダーまたはバンドル エディターから Shared サーバーレスにアタッチされたノートブックをスケジュールする場合、Azure Databricks は、ルート pyproject.toml ファイルが存在すれば、そのファイルをジョブのプロジェクト環境として使用します。 以下の手順に従ってバンドルをデプロイします。
- Gitフォルダまたはバンドルエディターで、Shared Serverlessに紐づけられたノートブックを開きます。
- Git フォルダーやバンドルにルート
pyproject.tomlファイルがある場合は、タスクに必要な依存関係が宣言されているか確認します。 - [スケジュール] をクリックします。
- Computeドロップダウンリストでサーバーレス コンピューティングを選択します。
- スケジュールを設定して「 作成」をクリックします。
「作成」をクリックした後、ジョブ設定を確認してください:
Gitフォルダー: Git フォルダーにルート
pyproject.tomlファイルがある場合は、ジョブのタスク設定のプロジェクト環境がそのファイルを指しているか確認します。 選択を変更するには、「 ジョブタスクの環境構成」をご覧ください。バンドル: バンドルエディターは
resources/フォルダ内の生成されたジョブYAMLファイルを開きます。- バンドルにルート
pyproject.tomlファイルがある場合、環境のspec下のproject_environmentが生成された YAML ファイルからの相対パスでそれを指していることを確認します。 「バンドル内でプロジェクト環境を構成する」を参照してください。 - バンドルをデプロイ してジョブを作成します。
開発モードではスケジュールがデフォルトで一時停止されます。 宣言型オートメーション バンドルのデプロイ モードを参照してください。
- バンドルにルート
ノートブックのスケジューリングオプションについては、「 スケジュールされたノートブックジョブを作成および管理」をご覧ください。
Limitations
- コンピュート共有は サーバーレス使用ポリシーに限定されています。 同じGitフォルダやバンドル内のノートブックやファイルは、異なる使用ポリシーを使用する場合、1つを共有するのではなく別々の計算リソースが割り当てられます。