共用方式為


使用 Databricks Asset Bundles 開發 Python Wheel 檔案

本文說明如何建置、部署和執行 Python 轉輪檔案,作為 Databricks 資產套件組合專案的一部分。 請參閱什麼是 Databricks Asset Bundle?

需求

  • Databricks CLI 0.218.0 版或更新版本。 若要檢查您已安裝的 Databricks CLI 版本,請執行命令 databricks -v。 若要安裝 Databricks CLI,請參閱安裝或更新 Databricks CLI
  • 遠端工作區必須已啟用工作區檔案。 請參閲工作區檔案是什麼?

決策:手動或使用範本建立套件組合

決定您想要使用範本建立入門套件組合,還是手動建立套件組合。 使用範本建立套件組合會更快且更容易,但套件組合可能會產生不需要的內容,而且套件組合的預設設定必須針對實際應用程式進一步自定義。 手動建立套件組合可讓您完全掌控套件組合的設定,但您必須熟悉套件組合的運作方式,因為您從頭開始執行所有工作。 選擇下列其中一組步驟:

使用範本建立套件組合

在這些步驟中,您會使用適用於 Python 的 Azure Databricks 預設套件組合範本來建立套件組合。 這些步驟會引導您建立套件組合,其中包含要建置至 Python 轉輪檔案的檔案,以及用來建置此 Python 轉輪檔案的 Azure Databricks 作業定義。 然後,您可以從 Azure Databricks 工作區內的 Python 轉輪作業,驗證、部署和建置已部署的檔案到 Python 轉輪檔案。

適用於 Python 的 Azure Databricks 預設套件組合範本會使用 setuptools 來建置 Python 轉輪檔案。 如果您想要改用 Poetry 來建置 Python 轉輪檔案,請遵循本節稍後的指示,改為交換 setuptools 詩歌實作的實作。

步驟 1:設定驗證

在此步驟中,您會在開發電腦上的 Databricks CLI 與 Azure Databricks 工作區之間設定驗證。 本文假設您想要使用 OAuth 使用者對機器 (U2M) 驗證,以及名為 DEFAULT 的對應 Azure Databricks 組態設定檔進行驗證。

注意

U2M 驗證適用於即時試用這些步驟。 針對完全自動化的工作流程,Databricks 建議您改用 OAuth 機器對機器 (M2M) 驗證。 請參閱驗證中的 M2M 驗證設定指示。

  1. 針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 權杖管理。

    在下列命令中,將 <workspace-url> 取代為您的 Azure Databricks 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定檔的資訊。 按 Enter 以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何具有相同名稱的現有設定檔,會以您輸入的資訊覆寫。 您可使用設定檔,在多個工作區之間快速切換驗證內容。

    若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行 databricks auth profiles 命令。 若要檢視特定設定檔的現有設定,請執行 databricks auth env --profile <profile-name> 命令。

  3. 在網頁瀏覽器中,完成畫面上的指示,登入 Azure Databricks 工作區。

  4. 若要檢視設定檔目前的 OAuth 權杖值和權杖即將到期的時間戳記,請執行下列其中一個命令:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    如果您有多個具有相同 --host 值的設定檔,您可能需要一起指定 --host-p 選項,以協助 Databricks CLI 尋找正確的相符 OAuth 權杖資訊。

步驟 2:建立套件組合

套件組合包含您想要部署的成品,以及您要執行的工作流程設定。

  1. 使用終端機或命令提示字元,切換至本機開發電腦上的目錄,其中包含範本產生的套件組合。

  2. 使用 Databricks CLI 版本來執行 bundle init 命令:

    databricks bundle init
    
  3. 針對 Template to use,按 Enter,保留 default-python 的預設值。

  4. 針對 Unique name for this project,保留 my_project 的預設值,或輸入不同的值,然後按 Enter。 這會決定此套件組合的根目錄名稱。 此根目錄是在您目前的工作目錄中建立的。

  5. 針對 Include a stub (sample) notebook,選取 no 並按 Enter。 這會指示 Databricks CLI 不要將範例筆記本新增至您的套件組合。

  6. 針對 Include a stub (sample) DLT pipeline,選取 no 並按 Enter。 這會指示 Databricks CLI 不要在套件組合中定義範例 Delta Live Tables 管線。

  7. 針對 Include a stub (sample) Python package,按 Enter,保留 yes 的預設值。 這會指示 Databricks CLI 將範例 Python 轉輪套件檔案和相關組建指示新增至套件組合。

步驟 3:探索套件組合

若要檢視範本產生的檔案,請切換至新建立的套件組合的根目錄,並使用您慣用的 IDE 開啟此目錄,例如 Visual Studio Code。 特別值得注意的檔案如下所示:

  • databricks.yml:此檔案會指定套件組合的程式設計名稱、包含 Python 滾輪作業定義的參考,以及指定目標工作區的相關設定。
  • resources/<project-name>_job.yml:此檔案會指定 Python 滾輪作業的設定。
  • src/<project-name>:此目錄包含 Python 轉輪作業用來建置 Python 轉輪檔案的檔案。

注意

如果您想要在已安裝 Databricks Runtime 12.2 LTS 或以下的目標叢集上安裝 Python 轉輪檔案,您必須將下列最上層對應新增至 databricks.yml 檔案:

# Applies to all tasks of type python_wheel_task.
experimental:
  python_wheel_wrapper: true

此對應會指示 Databricks CLI 執行下列動作:

  • 在背景部署 Python 轉輪檔案的複本。 此部署路徑通常是 ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
  • 在背景中建立筆記本,其中包含在目標叢集上安裝上述已部署 Python 轉輪檔案的指示。 此筆記本的路徑通常是 ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
  • 當您執行包含 Python 滾輪工作的作業,以及該工作參考上述 Python 滾輪檔案時,會在執行上述筆記本的背景中建立作業。

您不需要為已安裝 Databricks Runtime 13.1 或更新版本的目標叢集指定此對應,因為來自 Azure Databricks 工作區文件系統的 Python 轉輪安裝會自動安裝在這些目標叢集上。

步驟 4:更新專案的套件組合以使用詩歌

根據預設,套件組合範本會指定使用 setuptools 和檔案setup.pyrequirements-dev.txt和 來建置 Python 轉輪檔案。 如果您想要保留這些預設值,請直接跳至 步驟 5:驗證專案的套件組合組態檔

若要更新專案的套件組合以使用 詩歌 而非 setuptools,請確定您的本機開發計算機符合下列需求:

  • 詩歌 1.6 版或更新版本。 若要檢查已安裝的 Poetry 版本,請執行 命令 poetry -Vpoetry --version。 若要安裝或升級詩歌,請參閱 安裝
  • Python 3.10 版或更新版本。 若要檢查 Python 的版本,請執行 命令 python -Vpython --version
  • Databricks CLI 0.209.0 版或更新版本。 若要使用 Databricks CLI 版本,請執行 命令 databricks -vdatabricks --version。 請參閱安裝或更新 Databricks CLI

對專案的套件組合進行下列變更:

  1. 從套件組合的根目錄,執行下列命令,指示 poetry 初始化 Poetry 的 Python 轉輪組建:

    poetry init
    
  2. Poetry 顯示供您完成的數個提示。 針對 Python 轉輪組建,請依照下列方式回答這些提示,以符合專案套件組合中的相關預設設定:

    1. 針對 Package name,輸入 下 /src子資料夾的名稱,然後按 Enter。 這也應該是套件 name 在套件組合檔案 setup.py 中定義的值。
    2. 針對 Version,輸入 0.0.1 ,然後按 Enter。 這符合套件組合檔案 src/<project-name>/__init__.py 中定義的版本號碼。
    3. 針對 Description,輸入 wheel file based on <project-name>/src (以項目的名稱取代 <project-name> ),然後按 Enter。 這符合 description 範本檔案 setup.py 中定義的值。
    4. 針對 Author,請按 Enter。 這個預設值符合範本檔案 setup.py 中定義的作者。
    5. 針對 License,請按 Enter。 範本中沒有定義授權。
    6. 針對 Compatible Python versions,輸入符合目標 Azure Databricks 叢集上的 Python 版本(例如 ^3.10),然後按 Enter
    7. 針對 Would you like to define your main dependencies interactively? [類型 no ],然後按 Enter。 您稍後會定義相依性。
    8. 針對 Would you like to define your development dependencies interactively? [類型 no ],然後按 Enter。 您稍後會定義相依性。
    9. EnterDo you confirm generation?
  3. 完成提示之後,Poetry 會將檔案 pyproject.toml 新增至套件組合的專案。 如需 pyproject.toml 檔案的相關資訊,請參閱 pyproject.toml 檔案

  4. 從套件組合的根目錄,指示 poetry 讀取 pyproject.toml 檔案、解析相依性並加以安裝、建立 poetry.lock 檔案來鎖定相依性,最後建立虛擬環境。 若要這樣做,請執行下列命令:

    poetry install
    
  5. 在檔案結尾pyproject.toml新增下列區段,並將 取代<project-name>為包含src/<project-name>/main.py檔案的目錄名稱(例如 : my_project

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    區段會指定 Python 滾輪作業的 Python 滾輪進入點。

  6. 在套件組合檔案 databricks.yml 的最上層新增下列對應:

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    此對應會指示 Databricks CLI 使用詩歌來建置 Python 滾輪檔案。

  7. setup.py從套件組合中刪除和 requirements-dev.txt 檔案,因為詩歌不需要它們。

步驟 5:驗證專案的套件組合組態檔

在此步驟中,您會檢查套件組合設定是否有效。

  1. 從根目錄,使用 Databricks CLI 執行 bundle validate 命令,如下所示:

    databricks bundle validate
    
  2. 如果傳回套件組合設定的摘要,則驗證成功。 如果傳回任何錯誤,請修正錯誤,然後重複此步驟。

如果您在此步驟後對套件組合進行任何變更,您應該重複此步驟,以檢查套件組合設定是否仍然有效。

步驟 6:建置 Python 滾輪檔案,並將本機專案部署至遠端工作區

在此步驟中,您會建置 Python 轉輪檔案、將建置的 Python 轉輪檔案部署至遠端 Azure Databricks 工作區,並在工作區內建立 Azure Databricks 作業。

  1. 如果您使用 setuptools,如果您尚未這麼做,請執行下列命令來安裝 wheelsetuptools 套件:

    pip3 install --upgrade wheel setuptools
    
  2. 在 Visual Studio Code 終端機中,使用 Databricks CLI 來執行 bundle deploy 命令,如下所示:

    databricks bundle deploy -t dev
    
  3. 如果您要檢查本機建置的 Python 轉輪檔案是否已部署:

    1. 在 Azure Databricks 工作區的提要字段中,按兩下 [ 工作區]。
    2. 按下列資料夾:工作區>使用者 ><your-username>>.bundle> ><project-name>開發>成品 > .internal 。><random-guid>

    Python 轉輪檔案應該在此資料夾中。

  4. 如果您要檢查是否已建立作業:

    1. 在 Azure Databricks 工作區的側邊欄中,按下 [工作流程]
    2. 在 [ 作業] 索引標籤上,按兩下 [dev <your-username>] <project-name>_job
    3. 按下 [工作] 索引標籤。

    應該有一項工作: main_task

如果您在此步驟之後對套件組合進行任何變更,您應該重複步驟 5-6,檢查套件組合組態是否仍然有效,然後重新部署專案。

步驟 7:執行已部署的專案

在此步驟中,您會在工作區中執行 Azure Databricks 工作。

  1. 從根目錄,使用 Databricks CLI 執行 bundle run 命令 (如下所示),將 <project-name> 取代 為步驟 2 中的專案名稱:

    databricks bundle run -t dev <project-name>_job
    
  2. 複製終端機中顯示的 Run URL 的值,並將此值貼到您的網頁瀏覽器中,以開啟您的 Azure Databricks 工作區。

  3. 在 Azure Databricks 工作區中,在工作順利完成並顯示綠色標題欄之後,按兩下 main_task 工作以查看結果。

如果您在此步驟之後對套件組合進行任何變更,您應該重複步驟 5-7,檢查套件組合組態是否仍然有效、重新部署專案,以及執行重新部署的專案。

您已使用範本來建立套件組合的步驟結束。

手動建立套件組合

在這些步驟中,您會從手頭開始建立套件組合。 這些步驟會引導您建立套件組合,其中包含要建置至 Python 轉輪檔案的檔案,以及用來建置此 Python 轉輪檔案之 Databricks 作業的定義。 然後,您可以從 Databricks 工作區內的 Python 滾輪作業,驗證、部署和建置已部署的檔案到 Python 轉輪檔案。

這些步驟包括將內容新增至 YAML 檔案。 您可以選擇使用整合開發環境 (IDE),在使用 YAML 檔案時提供自動架構建議和動作。 下列步驟會使用 Visual Studio Code 搭配從 Visual Studio Code Marketplace 安裝的 YAML 擴充功能。

這些步驟假設您已經知道:

請遵循這些指示來建立範例套件組合,以使用 Poetry 或 setuptools建置 Python 轉輪檔案、部署 Python 轉輪檔案,然後執行已部署的 Python 轉輪檔案。

如果您已經建置 Python 轉輪檔案,而且只想部署和執行它,請跳到在步驟 3:建立套件組合組態檔中的套件組合組態檔中指定 Python 轉輪設定。

步驟 1:設定驗證

在此步驟中,您會在開發電腦上的 Databricks CLI 與 Azure Databricks 工作區之間設定驗證。 本文假設您想要使用 OAuth 使用者對機器 (U2M) 驗證,以及名為 DEFAULT 的對應 Azure Databricks 組態設定檔進行驗證。

注意

U2M 驗證適用於即時試用這些步驟。 針對完全自動化的工作流程,Databricks 建議您改用 OAuth 機器對機器 (M2M) 驗證。 請參閱驗證中的 M2M 驗證設定指示。

  1. 針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 權杖管理。

    在下列命令中,將 <workspace-url> 取代為您的 Azure Databricks 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定檔的資訊。 按 Enter 以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何具有相同名稱的現有設定檔,會以您輸入的資訊覆寫。 您可使用設定檔,在多個工作區之間快速切換驗證內容。

    若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行 databricks auth profiles 命令。 若要檢視特定設定檔的現有設定,請執行 databricks auth env --profile <profile-name> 命令。

  3. 在網頁瀏覽器中,完成畫面上的指示,登入 Azure Databricks 工作區。

  4. 若要檢視設定檔目前的 OAuth 權杖值和權杖即將到期的時間戳記,請執行下列其中一個命令:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    如果您有多個具有相同 --host 值的設定檔,您可能需要一起指定 --host-p 選項,以協助 Databricks CLI 尋找正確的相符 OAuth 權杖資訊。

步驟 2:建立套件組合

套件組合包含您想要部署的成品,以及您要執行的工作流程設定。

  1. 在套件組合的根目錄中,根據您是否使用 Poetry 或 setuptools 建置 Python 轉輪檔案,建立下列資料夾和檔案:

    Poetry

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── pyproject.toml
    

    Setuptools

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── setup.py
    
  2. 讓檔案保持 __init__.py 空白。

  3. 將下列程式代碼新增至 main.py 檔案,然後儲存盤案:

    from my_package.my_module import *
    
    def main():
    
      first = 200
      second = 400
    
      print(f"{first} + {second} = {add_two_numbers(first, second)}")
      print(f"{second} - {first} = {subtract_two_numbers(second, first)}")
      print(f"{first} * {second} = {multiply_two_numbers(first, second)}")
      print(f"{second} / {first} = {divide_two_numbers(second, first)}")
    
    if __name__ == "__main__":
      main()
    
  4. 將下列程式代碼新增至 my_module.py 檔案,然後儲存盤案:

    def add_two_numbers(a, b):
      return a + b
    
    def subtract_two_numbers(a, b):
      return a - b
    
    def multiply_two_numbers(a, b):
      return a * b
    
    def divide_two_numbers(a, b):
      return a / b
    
  5. 將下列程式代碼新增至 pyproject.tomlsetup.py 檔案,然後儲存盤案:

    Pyproject.toml

    [tool.poetry]
    name = "my_package"
    version = "0.0.1"
    description = "<my-package-description>"
    authors = ["my-author-name <my-author-name>@<my-organization>"]
    
    [tool.poetry.dependencies]
    python = "^3.10"
    
    [build-system]
    requires = ["poetry-core"]
    build-backend = "poetry.core.masonry.api"
    
    [tool.poetry.scripts]
    main = "my_package.main:main"
    
    • 將取代 my-author-name 為您組織的主要聯繫人名稱。
    • 將取代 my-author-name>@<my-organization 為您組織的主要電子郵件位址。
    • 將取代 <my-package-description> 為 Python 滾輪檔案的顯示描述。

    Setup.py

    from setuptools import setup, find_packages
    
    import src
    
    setup(
      name = "my_package",
      version = "0.0.1",
      author = "<my-author-name>",
      url = "https://<my-url>",
      author_email = "<my-author-name>@<my-organization>",
      description = "<my-package-description>",
      packages=find_packages(where='./src'),
      package_dir={'': 'src'},
      entry_points={
        "packages": [
          "main=my_package.main:main"
        ]
      },
      install_requires=[
        "setuptools"
      ]
    )
    
    • 將取代 https://<my-url> 為您組織的 URL。
    • 將取代 <my-author-name> 為您組織的主要聯繫人名稱。
    • 將取代 <my-author-name>@<my-organization> 為您組織的主要電子郵件位址。
    • 將取代 <my-package-description> 為 Python 滾輪檔案的顯示描述。

步驟 3:建立套件組合的組態檔

套件組合組態檔描述您要部署的成品,以及您想要執行的工作流程。

  1. 在套件組合的根目錄中,新增名為 databricks.yml的套件組合組態檔。 將下列程式代碼新增至此檔案:

    Poetry

    注意

    如果您已經建置 Python 轉輪檔案,並只想要部署它,請省略 artifacts 對應來修改下列套件組合組態檔。 Databricks CLI 接著會假設已建置 Python 轉輪檔案,並會自動部署陣列whl專案中指定的libraries檔案。

    bundle:
      name: my-wheel-bundle
    
    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: Standard_DS3_v2
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    Setuptools

    bundle:
      name: my-wheel-bundle
    
    resources:
      jobs:
        wheel-job:
          name: wheel-job
          tasks:
            - task_key: wheel-task
              new_cluster:
                spark_version: 13.3.x-scala2.12
                node_type_id: Standard_DS3_v2
                data_security_mode: USER_ISOLATION
                num_workers: 1
              python_wheel_task:
                entry_point: main
                package_name: my_package
              libraries:
                - whl: ./dist/*.whl
    
    targets:
      dev:
        workspace:
        host: <workspace-url>
    

    以您的個別工作區 URL 取代 <workspace-url>,例如 https://adb-1234567890123456.7.azuredatabricks.net

    需要對應 artifacts 才能使用 Poetry 建置 Python 轉輪檔案,並選擇性地使用 setuptools建置 Python 轉輪檔案。 對應 artifacts 包含一或多個具有下列對應的成品定義:

    • 對應 type 必須存在,並將 設定為 whl ,以指定要建置 Python 轉輪檔案。 針對 setuptoolswhl 如果未指定任何成品定義,則為預設值。
    • 對應path會指出詩歌檔案的路徑pyproject.toml,或 針對的setup.pysetuptools檔案路徑。 此路徑相對於 databricks.yml 檔案。 針對 setuptools,此路徑預設為 . (與 databricks.yml 檔案相同的目錄)。
    • 對應 build 表示要執行的任何自定義建置命令,以建置 Python 滾輪檔案。 針對 setuptools,此指令預設為 python3 setup.py bdist wheel
    • 對應 files 是由一或多個 source 對應所組成,這些對應會指定要包含在 Python 轉輪組建中的任何其他檔案。 沒有預設值。

    注意

    如果您想要在已安裝 Databricks Runtime 12.2 LTS 或以下的目標叢集上安裝 Python 轉輪檔案,您必須將下列最上層對應新增至 databricks.yml 檔案:

    # Applies to jobs with python_wheel_task and that use
    # clusters with Databricks Runtime 13.0 or below installed.
    experimental:
      python_wheel_wrapper: true
    

    此對應會指示 Databricks CLI 執行下列動作:

    • 在背景中部署 Python 轉輪檔案的複本。 此部署路徑通常是 ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
    • 在背景中建立筆記本,其中包含在目標叢集上安裝上述已部署 Python 轉輪檔案的指示。 此筆記本的路徑通常是 ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
    • 當您執行包含 Python 滾輪工作的作業,且該工作參考上述 Python 滾輪檔案時,會在執行上述筆記本的背景中建立作業。

    您不需要為已安裝 Databricks Runtime 13.1 或更新版本的目標叢集指定此對應,因為來自 Azure Databricks 工作區文件系統的 Python 轉輪安裝會自動安裝在這些目標叢集上。

  2. 如果您使用詩歌,請執行下列動作:

    • 如果尚未安裝詩歌,請安裝詩歌 1.6 版或更新版本。 若要檢查已安裝的 Poetry 版本,請執行 命令 poetry -Vpoetry --version
    • 請確定您已安裝 Python 3.10 版或更新版本。 若要檢查 Python 的版本,請執行 命令 python -Vpython --version
    • 請確定您有 Databricks CLI 0.209.0 版或更新版本。 若要使用 Databricks CLI 版本,請執行 命令 databricks -vdatabricks --version。 請參閱安裝或更新 Databricks CLI
  3. 如果您使用 setuptoolswheel 請執行下列命令,以安裝和 setuptools 套件:

    pip3 install --upgrade wheel setuptools
    
  4. 如果您想要將此套件組合與 Git 提供者一起儲存,請在專案的根目錄中新增 .gitignore 檔案,並將下列專案新增至此檔案:

    Poetry

    .databricks
    dist
    

    Setuptools

    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

步驟 4:驗證專案的套件組合設定檔

在此步驟中,您會檢查套件組合設定是否有效。

  1. 從根目錄驗證套件組合組態檔:

    databricks bundle validate
    
  2. 如果傳回套件組合設定的摘要,則驗證成功。 如果傳回任何錯誤,請修正錯誤,然後重複此步驟。

如果您在此步驟後對套件組合進行任何變更,您應該重複此步驟,以檢查套件組合設定是否仍然有效。

步驟 5:建置 Python 轉輪檔案,並將本機專案部署至遠端工作區

在本機建置 Python 轉輪檔案、將建置的 Python 轉輪檔案部署至工作區、將筆記本部署至工作區,並在工作區中建立作業:

databricks bundle deploy -t dev

步驟 6:執行部署的專案

  1. 執行已部署的作業,它會使用已部署的筆記本來呼叫已部署的 Python 轉輪檔案:

    databricks bundle run -t dev wheel-job
    
  2. 在輸出中,複製 並將 Run URL 它貼到網頁瀏覽器的網址列中。

  3. 在作業執行的 [輸出 ] 頁面中,會出現下列結果:

    200 + 400 = 600
    400 - 200 = 200
    200 * 400 = 80000
    400 / 200 = 2.0
    

如果您在此步驟之後對套件組合進行任何變更,您應該重複步驟 3-5,檢查套件組合組態是否仍然有效、重新部署專案,以及執行重新部署的專案。

建置並安裝作業的 Python 轉輪檔案

若要使用 Poetry 或 setuptools建置 Python 轉輪檔案,然後在作業中使用該 Python 轉輪檔案,您必須將一或兩個對應新增至檔案 databricks.yml

如果您使用詩歌,則必須在databricks.yml檔案中包含下列artifacts對應。 這個對應會 poetry build 執行 命令,並使用 pyproject.toml 與檔案位於相同目錄中的 databricks.yml 檔案:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

注意

對應 artifacts 是 選擇性的 setuptools。 根據預設,Databricks setuptools CLI 會執行 命令 python3 setup.py bdist_wheel ,並使用 setup.py 與檔案位於相同目錄中的 databricks.yml 檔案。 Databricks CLI 假設您已經執行命令,例如pip3 install --upgrade wheel setuptools,如果尚未安裝 和 setuptools 套件,請加以安裝wheel

此外,作業工作的 libraries 對應必須包含值 whl ,這個值會指定所建置 Python 轉輪檔案的路徑,相對於其宣告所在的組態檔。 下列範例會在筆記本工作中顯示此專案(省略號表示省略的內容,以求簡潔):

resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      tasks:
        - task_key: my-notebook-job-notebook-task
          notebook_task:
            notebook_path: ./my_notebook.py
          libraries:
            - whl: ./dist/*.whl
          new_cluster:
            # ...

建置並安裝管線的 Python 轉輪檔案

若要使用 Poetry 建置 Python 轉輪檔案,或在 setuptools Delta Live Tables 管線中參考該 Python 轉輪檔案,如果您使用 Poetry,則必須將對應新增至檔案 databricks.yml ,而且您必須將命令新增 %pip install 至管線筆記本,如下所示。

如果您使用詩歌,則必須在databricks.yml檔案中包含下列artifacts對應。 這個對應會 poetry build 執行 命令,並使用 pyproject.toml 與檔案位於相同目錄中的 databricks.yml 檔案:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

注意

對應 artifacts 是 選擇性的 setuptools。 根據預設,Databricks setuptools CLI 會執行 命令 python3 setup.py bdist_wheel ,並使用 setup.py 與檔案位於相同目錄中的 databricks.yml 檔案。 Databricks CLI 假設您已經執行命令,例如pip3 install --upgrade wheel setuptools,如果尚未安裝 和 setuptools 套件,請加以安裝wheel

此外,相關的管線筆記本必須包含命令 %pip install ,才能安裝所建置的 Python 轉輪檔案。 請參閱 Python 連結