GitフォルダやバンドルにはShared Serverlessを使いましょう

Important

この機能は ベータ版です。 これを使うには、ワークスペース管理者がPreviewsページからProject-Scoped Shared Computeを有効にする必要があります。 Manage Azure Databricks プレビューを参照してください。

Shared Serverlessでは、同じGitフォルダまたはバンドル内のノートブックとファイルが、エディター内でサーバーレスコンピュートと Python 環境を共有します。 環境をカスタマイズするには、フォルダー直下に pyproject.toml ファイルを追加してください。 ノートブックやファイルを添付するには、 Gitフォルダ や 宣言的自動化バンドルの手順に従ってください。

Requirements

共有計算および環境

  • 同じGitフォルダやバンドル内のノートブックとファイルは、エディタ内でコンピュートとPython環境を共有します。 フォルダルートにあるオプションの pyproject.toml ファイルが共有環境を定義します。
  • 関連するGitフォルダまたはバンドル内のノートブックとファイルのみが共有のコンピュートリソースにアタッチできます。
  • 共有された計算資源はユーザーごとに隔離されます。 ノートブックやファイルを共有コンピュートリソースに最初に添付したユーザーだけが、その上でワークロードを実行できます。
  • ノートブックの実行は依然として分離されたままです。 あるノートブックで定義されたPython変数は、別のノートブックでは利用できません。
  • 接続されたノートブックやファイルから開かれた ウェブ端末 は、同じコンピュートリソース上で動作します。

GitフォルダでShared Serverlessを使います

Shared Serverlessを使って、 Gitフォルダ内のノートブックやファイルを扱うことができます。

Git フォルダー エディタでノートブックやファイルを添付します

  1. ワークスペースのサイドバーで「 Workspace 」をクリックし、Gitフォルダに移動します。

  2. エディターで開くをクリックします。

  3. Gitフォルダ内のノートブックやファイルを開きます。

  4. 計算ドロップダウンメニューをクリックしてください。

  5. 共有 Serverlessを選択します。

    Betaバッジとpyproject.tomlの環境を備えた、共有サーバーレスコンピュート用のドロップダウン オプション

  6. ノートブックやファイルを実行してコンピュートリソースを起動します。

別のノートブックやファイルから同じコンピューティングを使うには、同じGitフォルダ内で開いて「共有サーバーレス」を選択してください。

Gitを通じたコラボレーション

Databricksは、各コラボレーターがリポジトリを自分の個人ワークスペースフォルダ内のGitフォルダに クローン することを推奨しています。 各コラボレーターには、クローン用に個別の計算リソースと環境が割り当てられます。

ブランチ、コミット、プッシュ、プルを使ってリモートGitリポジトリを通じて変更を交換します。 「 Gitフォルダでのコラボレーション」を参照してください。

バンドルでShared Serverlessを使用する

ワークスペース内のバンドルでノートブックやファイルを扱うには、Shared Serverless を使いましょう。 バンドルルートには databricks.yml が含まれ、共有環境を定義する pyproject.toml ファイルが含まれる場合があります。

バンドルエディターでノートブックやファイルを添付してください

  1. ワークスペースのサイドバーで「 ワークスペース 」をクリックしてバンドルに移動します。
  2. バンドル名の右側で「 エディターで開く」をクリックします。
  3. バンドルのノートブックやファイルを開いてみてください。
  4. 計算ドロップダウンメニューをクリックしてください。
  5. 共有 Serverlessを選択します。
  6. ノートブックやファイルを実行してコンピュートリソースを起動します。

他のノートブックやファイルから同じコンピュートを使うには、同じバンドル内で開いて 「共有サーバーレス」を選択してください。

Gitでコラボレーションするには、各コラボレーターがリポジトリを自分の個人ワークスペースフォルダ内のGitフォルダにクローンします。 「Git を使用したコラボレーション」を参照してください。

pyproject.tomlで環境を管理

Shared Serverlessは、Gitフォルダやバンドルルートにあるpyproject.tomlファイルを使ってプロジェクトのPython依存関係を管理します。 標準的なサーバーレスノートブックは、Environment 側のペインで各ノートブックごとに設定された依存関係を使用します。

依存関係を管理する前に、ルートの pyproject.toml ファイルを作成し、そのファイルのサーバーレス環境のバージョンを設定します。 「 作成および編集 pyproject.toml」をご覧ください。 その後、ノートブックコマンドで依存関係を追加したり、ファイルを直接編集したりできます。

ノートブック コマンドを使用する

  1. Shared Serverless に紐づいたノートを開きます。

  2. ルートpyproject.tomlファイルに依存関係を追加する%uv add <package>実行してください。 例えば次が挙げられます。

    %uv add cowsay
    

コマンドは pyproject.toml、 uv.lock、共有環境を更新します。 %uv sync後に%uv addを実行する必要はありません。 %uv syncを使って、直接pyproject.tomlに加えた変更を適用してください。

作成および編集pyproject.toml

  1. 共有サーバーレスに紐づいたノートブックを開きます。

  2. 環境側のペインを開く。

  3. Managed by pyproject.toml カードで、[新しいファイル] アイコン。[pyproject.toml を作成] をクリックして、ルート ファイルを作成します。 ファイルがすでに存在する場合は、 新しいウィンドウアイコンをクリックします。pyproject.tomlを表示してください。 エディターでファイルが開きます。

    環境側のペインで、「Managed by pyproject.toml」の横にCreate pyproject.tomlアイコンとツールチップがあります。

  4. 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"
    
  5. pyproject.toml ファイル エディターの上部にある [適用] をクリックします。

    「適用」ボタンとそのツールチップが表示されたpyproject.tomlファイルエディタ。

更新された環境は、同じ共有コンピュートリソースに接続されたノートブックやファイルに利用可能です。 環境をチェックするには、 環境 サイドのペインを開きます。 サーバーレス環境のバージョンやインストールされた依存関係に関する情報は 「サーバーレス環境の設定」 を参照してください。

ノートブックをスケジュールする

Git フォルダーまたはバンドル エディターから Shared サーバーレスにアタッチされたノートブックをスケジュールする場合、Azure Databricks は、ルート pyproject.toml ファイルが存在すれば、そのファイルをジョブのプロジェクト環境として使用します。 以下の手順に従ってバンドルをデプロイします。

  1. Gitフォルダまたはバンドルエディターで、Shared Serverlessに紐づけられたノートブックを開きます。
  2. Git フォルダーやバンドルにルート pyproject.toml ファイルがある場合は、タスクに必要な依存関係が宣言されているか確認します。
  3. [スケジュール] をクリックします。
  4. Computeドロップダウンリストでサーバーレス コンピューティングを選択します。
  5. スケジュールを設定して「 作成」をクリックします。

「作成」をクリックした後、ジョブ設定を確認してください:

  • Gitフォルダー: Git フォルダーにルート pyproject.toml ファイルがある場合は、ジョブのタスク設定のプロジェクト環境がそのファイルを指しているか確認します。 選択を変更するには、「 ジョブタスクの環境構成」をご覧ください。

  • バンドル: バンドルエディターは resources/ フォルダ内の生成されたジョブYAMLファイルを開きます。

    1. バンドルにルート pyproject.toml ファイルがある場合、環境の spec 下の project_environment が生成された YAML ファイルからの相対パスでそれを指していることを確認します。 「バンドル内でプロジェクト環境を構成する」を参照してください。
    2. バンドルをデプロイ してジョブを作成します。

    開発モードではスケジュールがデフォルトで一時停止されます。 宣言型オートメーション バンドルのデプロイ モードを参照してください。

ノートブックのスケジューリングオプションについては、「 スケジュールされたノートブックジョブを作成および管理」をご覧ください。

Limitations

  • コンピュート共有は サーバーレス使用ポリシーに限定されています。 同じGitフォルダやバンドル内のノートブックやファイルは、異なる使用ポリシーを使用する場合、1つを共有するのではなく別々の計算リソースが割り当てられます。

その他のリソース