使用 Shared Serverless 用於 Git 資料夾和套件組合

Important

這項功能位於 測試版 (Beta) 中。 要使用此功能,工作空間管理員必須從預覽頁面開啟 Project-Scoped 共享運算。 請參閱 管理 Azure Databricks 預覽。

使用 Shared Serverless,筆記本和檔案放在同一個 Git 資料夾或套件中,在編輯器中共享無伺服器運算和 Python 環境。 若要自訂環境,請在資料夾根目錄新增一個 pyproject.toml 檔案。 要附加筆記本或檔案,請依照 Git 資料夾 或 宣告式自動化套件的步驟操作。

Requirements

共享運算與環境

  • 同一個 Git 資料夾或套件中的筆記本和檔案會在編輯器中共用運算和 Python 環境。 位於資料夾根目錄的可選 pyproject.toml 檔案定義共享環境。
  • 只有相關聯的 Git 資料夾或套件中的筆記本和檔案能附加到其共享的運算資源。
  • 共享的運算資源會依使用者進行隔離。 只有先將筆記本或檔案附加到共享運算資源的使用者,才能在該資源上執行工作負載。
  • Notebook 執行仍維持隔離。 一個筆記本中定義的 Python 變數,在另一個筆記本中無法使用。
  • 從附帶的筆記本或檔案開啟的 網頁終端 會在同一個運算資源上執行。

在 Git 資料夾中使用 Shared Serverless

使用 Shared Serverless 來處理 Git 資料夾中的筆記簿和檔案。

在 Git 資料夾編輯器中附上 Notebook 和檔案

  1. 在工作區側邊欄,點選 工作區 ,然後進入 Git 資料夾。

  2. 點擊 在編輯器中開啟。

  3. 在 Git 資料夾裡打開筆記本或檔案。

  4. 點擊計算下拉選單。

  5. 選擇 共享無伺服器。

    運算下拉式選單選項,支援共享無伺服器運算,並附有 Beta 徽章及來自 pyproject.toml 的環境

  6. 執行筆記本或檔案來啟動運算資源。

要使用另一個筆記本或檔案的相同運算,請在同一 Git 資料夾中開啟它,並選擇 Shared Serverless。

透過 Git 協作

Databricks 建議每位協作者將 該儲存庫複製 到個人工作區資料夾中的 Git 資料夾中。 每個協作者接著會為其複本分配獨立的運算資源和環境。

透過遠端 Git 儲存庫,使用分支、提交、推送和拉取來交換變更。 請參見 「在 Git 資料夾中協作」。

在組合中使用 Shared Serverless

使用 Shared Serverless 來處理 工作空間中的套件組合中的筆記本和檔案。 bundle 根包含 databricks.yml,且可以包含一個 pyproject.toml 檔案,用於定義共用環境。

在組合編輯器中附加筆記本與檔案

  1. 在工作區側邊欄,點選 工作區,然後導覽到該套件。
  2. 在組合名稱右側,點選 「在編輯器中開啟」。
  3. 打開組合中的筆記本或檔案。
  4. 點擊計算下拉選單。
  5. 選擇 共享無伺服器。
  6. 執行筆記本或檔案來啟動運算資源。

若要使用來自其他筆記本或檔案的相同運算,請在同一套件中開啟它,並選擇 共享無伺服器。

要透過 Git 協作,請讓每位協作者將該存放庫複製到個人工作區資料夾的 Git 資料夾中。 請參閱 透過 Git 協作。

使用 pyproject.toml 管理環境

Shared Serverless 使用 Git 資料夾或 bundle 根目錄中的pyproject.toml檔案來管理專案的 Python 相依關係。 標準無伺服器筆記本使用在 環境 側窗格中為每個筆記本設定的相依性。

先建立根檔案 pyproject.toml 並設定其無伺服器環境版本,再管理其相依關係。 請參閱 「建立與編輯 pyproject.toml」。 接著你可以用筆記本指令新增相依關係,或直接編輯檔案。

使用筆記本指令

  1. 打開一本連接至 Shared Serverless 的筆記本。

  2. 執行 %uv add <package> 後可以為根 pyproject.toml 檔案新增相依。 例如:

    %uv add cowsay
    

指令更新 pyproject.toml、 uv.lock,以及共享環境。 你不需要在 %uv add 之後再執行 %uv sync。 用%uv sync來套用直接對pyproject.toml所做的變更。

創建與編輯 pyproject.toml

  1. 打開一本附加到 Shared Serverless 的筆記本。

  2. 打開 環境側邊窗格。

  3. 在 Managed by pyproject.toml 卡片中,點選 新增檔案圖示。建立 pyproject.toml 以建立根檔案。 如果該檔案已經存在,請點擊 新視窗圖示。查看 pyproject.toml。 檔案會在編輯器中開啟。

    環境側窗格,帶有「創建 pyproject.toml」圖示,工具提示放在「由 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 資料夾或 bundle 編輯器排程附加到 Shared Serverless 的筆記本時,Azure Databricks 會使用該 pyproject.toml 根檔案作為該作業的專案環境(如果該檔案存在的話)。 依照以下步驟部署套件。

  1. 在 Git 資料夾或 bundle 編輯器中,打開一本附加到 Shared Serverless 的筆記本。
  2. 如果 Git 資料夾或套件組合有根 pyproject.toml 檔案,請確認它宣告了任務所需的相依性。
  3. 點選 「排程」。
  4. 在 Compute 下拉選單中,選擇無伺服器運算。
  5. 設定排程並點選 建立。

點擊 建立後,檢查工作設定:

  • Git 資料夾:如果 Git 資料夾有根 pyproject.toml 檔案,請確認工作設定中的 Project 環境指向該檔案。 要更改選擇,請參見 為工作任務設定環境。

  • Bundle: Bundle 編輯器會在 resources/ 資料夾中開啟產生的 job YAML 檔案。

    1. 如果 bundle 有根 pyproject.toml 檔案,請確認在環境的 spec 下的 project_environment 會相對於產生的 YAML 檔案指向它。 請參見「在套件中配置專案環境」。
    2. 部署套件 以建立作業。

    開發模式下排程預設會暫停。 請參見 宣告式自動化套件的部署模式。

關於筆記本排程選項,請參見 建立與管理排程筆記本工作。

Limitations

  • 運算共享的適用範圍以 無伺服器使用政策 為限。 位於同一個 Git 資料夾或套件中的筆記本和檔案,如果使用不同的使用策略,會被分配不同的運算資源,而不是共用同一組資源。

其他資源