使用 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 驗證設定指示。
針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 權杖管理。
在下列命令中,將
<workspace-url>
取代為您的 Azure Databricks 個別工作區網址,例如https://adb-1234567890123456.7.azuredatabricks.net
。databricks auth login --host <workspace-url>
Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定檔的資訊。 按
Enter
以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何具有相同名稱的現有設定檔,會以您輸入的資訊覆寫。 您可使用設定檔,在多個工作區之間快速切換驗證內容。若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行
databricks auth profiles
命令。 若要檢視特定設定檔的現有設定,請執行databricks auth env --profile <profile-name>
命令。在網頁瀏覽器中,完成畫面上的指示,登入 Azure Databricks 工作區。
若要檢視設定檔目前的 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:建立套件組合
套件組合包含您想要部署的成品,以及您要執行的工作流程設定。
使用終端機或命令提示字元,切換至本機開發電腦上的目錄,其中包含範本產生的套件組合。
使用 Databricks CLI 版本來執行
bundle init
命令:databricks bundle init
針對
Template to use
,按Enter
,保留default-python
的預設值。針對
Unique name for this project
,保留my_project
的預設值,或輸入不同的值,然後按Enter
。 這會決定此套件組合的根目錄名稱。 此根目錄是在您目前的工作目錄中建立的。針對
Include a stub (sample) notebook
,選取no
並按Enter
。 這會指示 Databricks CLI 不要將範例筆記本新增至您的套件組合。針對
Include a stub (sample) DLT pipeline
,選取no
並按Enter
。 這會指示 Databricks CLI 不要在套件組合中定義範例 Delta Live Tables 管線。針對
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.py
requirements-dev.txt
和 來建置 Python 轉輪檔案。 如果您想要保留這些預設值,請直接跳至 步驟 5:驗證專案的套件組合組態檔。
若要更新專案的套件組合以使用 詩歌 而非 setuptools
,請確定您的本機開發計算機符合下列需求:
- 詩歌 1.6 版或更新版本。 若要檢查已安裝的 Poetry 版本,請執行 命令
poetry -V
或poetry --version
。 若要安裝或升級詩歌,請參閱 安裝。 - Python 3.10 版或更新版本。 若要檢查 Python 的版本,請執行 命令
python -V
或python --version
。 - Databricks CLI 0.209.0 版或更新版本。 若要使用 Databricks CLI 版本,請執行 命令
databricks -v
或databricks --version
。 請參閱安裝或更新 Databricks CLI。
對專案的套件組合進行下列變更:
從套件組合的根目錄,執行下列命令,指示
poetry
初始化 Poetry 的 Python 轉輪組建:poetry init
Poetry 顯示供您完成的數個提示。 針對 Python 轉輪組建,請依照下列方式回答這些提示,以符合專案套件組合中的相關預設設定:
- 針對
Package name
,輸入 下/src
子資料夾的名稱,然後按Enter
。 這也應該是套件name
在套件組合檔案setup.py
中定義的值。 - 針對
Version
,輸入0.0.1
,然後按Enter
。 這符合套件組合檔案src/<project-name>/__init__.py
中定義的版本號碼。 - 針對
Description
,輸入wheel file based on <project-name>/src
(以項目的名稱取代<project-name>
),然後按Enter
。 這符合description
範本檔案setup.py
中定義的值。 - 針對
Author
,請按Enter
。 這個預設值符合範本檔案setup.py
中定義的作者。 - 針對
License
,請按Enter
。 範本中沒有定義授權。 - 針對
Compatible Python versions
,輸入符合目標 Azure Databricks 叢集上的 Python 版本(例如^3.10
),然後按Enter
。 - 針對
Would you like to define your main dependencies interactively?
[類型no
],然後按Enter
。 您稍後會定義相依性。 - 針對
Would you like to define your development dependencies interactively?
[類型no
],然後按Enter
。 您稍後會定義相依性。 Enter
按Do you confirm generation?
。
- 針對
完成提示之後,Poetry 會將檔案
pyproject.toml
新增至套件組合的專案。 如需pyproject.toml
檔案的相關資訊,請參閱 pyproject.toml 檔案。從套件組合的根目錄,指示
poetry
讀取pyproject.toml
檔案、解析相依性並加以安裝、建立poetry.lock
檔案來鎖定相依性,最後建立虛擬環境。 若要這樣做,請執行下列命令:poetry install
在檔案結尾
pyproject.toml
新增下列區段,並將 取代<project-name>
為包含src/<project-name>/main.py
檔案的目錄名稱(例如 :my_project
[tool.poetry.scripts] main = "<project-name>.main:main"
區段會指定 Python 滾輪作業的 Python 滾輪進入點。
在套件組合檔案
databricks.yml
的最上層新增下列對應:artifacts: default: type: whl build: poetry build path: .
此對應會指示 Databricks CLI 使用詩歌來建置 Python 滾輪檔案。
setup.py
從套件組合中刪除和requirements-dev.txt
檔案,因為詩歌不需要它們。
步驟 5:驗證專案的套件組合組態檔
在此步驟中,您會檢查套件組合設定是否有效。
從根目錄,使用 Databricks CLI 執行
bundle validate
命令,如下所示:databricks bundle validate
如果傳回套件組合設定的摘要,則驗證成功。 如果傳回任何錯誤,請修正錯誤,然後重複此步驟。
如果您在此步驟後對套件組合進行任何變更,您應該重複此步驟,以檢查套件組合設定是否仍然有效。
步驟 6:建置 Python 滾輪檔案,並將本機專案部署至遠端工作區
在此步驟中,您會建置 Python 轉輪檔案、將建置的 Python 轉輪檔案部署至遠端 Azure Databricks 工作區,並在工作區內建立 Azure Databricks 作業。
如果您使用
setuptools
,如果您尚未這麼做,請執行下列命令來安裝wheel
和setuptools
套件:pip3 install --upgrade wheel setuptools
在 Visual Studio Code 終端機中,使用 Databricks CLI 來執行
bundle deploy
命令,如下所示:databricks bundle deploy -t dev
如果您要檢查本機建置的 Python 轉輪檔案是否已部署:
- 在 Azure Databricks 工作區的提要字段中,按兩下 [ 工作區]。
- 按下列資料夾:工作區>使用者 >
<your-username>
>.bundle> ><project-name>
開發>成品 > .internal 。><random-guid>
Python 轉輪檔案應該在此資料夾中。
如果您要檢查是否已建立作業:
- 在 Azure Databricks 工作區的側邊欄中,按下 [工作流程]。
- 在 [ 作業] 索引標籤上,按兩下 [dev
<your-username>
]<project-name>
_job。 - 按下 [工作] 索引標籤。
應該有一項工作: main_task。
如果您在此步驟之後對套件組合進行任何變更,您應該重複步驟 5-6,檢查套件組合組態是否仍然有效,然後重新部署專案。
步驟 7:執行已部署的專案
在此步驟中,您會在工作區中執行 Azure Databricks 工作。
從根目錄,使用 Databricks CLI 執行
bundle run
命令 (如下所示),將<project-name>
取代 為步驟 2 中的專案名稱:databricks bundle run -t dev <project-name>_job
複製終端機中顯示的
Run URL
的值,並將此值貼到您的網頁瀏覽器中,以開啟您的 Azure Databricks 工作區。在 Azure Databricks 工作區中,在工作順利完成並顯示綠色標題欄之後,按兩下 main_task 工作以查看結果。
如果您在此步驟之後對套件組合進行任何變更,您應該重複步驟 5-7,檢查套件組合組態是否仍然有效、重新部署專案,以及執行重新部署的專案。
您已使用範本來建立套件組合的步驟結束。
手動建立套件組合
在這些步驟中,您會從手頭開始建立套件組合。 這些步驟會引導您建立套件組合,其中包含要建置至 Python 轉輪檔案的檔案,以及用來建置此 Python 轉輪檔案之 Databricks 作業的定義。 然後,您可以從 Databricks 工作區內的 Python 滾輪作業,驗證、部署和建置已部署的檔案到 Python 轉輪檔案。
這些步驟包括將內容新增至 YAML 檔案。 您可以選擇使用整合開發環境 (IDE),在使用 YAML 檔案時提供自動架構建議和動作。 下列步驟會使用 Visual Studio Code 搭配從 Visual Studio Code Marketplace 安裝的 YAML 擴充功能。
這些步驟假設您已經知道:
- 如何使用詩歌或
setuptools
建立、建置及使用 Python 滾輪檔案。 如需詩歌,請參閱 基本用法。 如需setuptools
,請參閱 Python 封裝使用者指南。 - 如何使用 Python 轉輪檔案作為 Azure Databricks 作業的一部分。 請參閱在 Azure Databricks 作業中使用 Python 轉輪檔案。
請遵循這些指示來建立範例套件組合,以使用 Poetry 或 setuptools
建置 Python 轉輪檔案、部署 Python 轉輪檔案,然後執行已部署的 Python 轉輪檔案。
如果您已經建置 Python 轉輪檔案,而且只想部署和執行它,請跳到在步驟 3:建立套件組合組態檔中的套件組合組態檔中指定 Python 轉輪設定。
步驟 1:設定驗證
在此步驟中,您會在開發電腦上的 Databricks CLI 與 Azure Databricks 工作區之間設定驗證。 本文假設您想要使用 OAuth 使用者對機器 (U2M) 驗證,以及名為 DEFAULT
的對應 Azure Databricks 組態設定檔進行驗證。
注意
U2M 驗證適用於即時試用這些步驟。 針對完全自動化的工作流程,Databricks 建議您改用 OAuth 機器對機器 (M2M) 驗證。 請參閱驗證中的 M2M 驗證設定指示。
針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 權杖管理。
在下列命令中,將
<workspace-url>
取代為您的 Azure Databricks 個別工作區網址,例如https://adb-1234567890123456.7.azuredatabricks.net
。databricks auth login --host <workspace-url>
Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定檔的資訊。 按
Enter
以接受建議的設定檔名稱,或輸入新或現有設定檔的名稱。 任何具有相同名稱的現有設定檔,會以您輸入的資訊覆寫。 您可使用設定檔,在多個工作區之間快速切換驗證內容。若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行
databricks auth profiles
命令。 若要檢視特定設定檔的現有設定,請執行databricks auth env --profile <profile-name>
命令。在網頁瀏覽器中,完成畫面上的指示,登入 Azure Databricks 工作區。
若要檢視設定檔目前的 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:建立套件組合
套件組合包含您想要部署的成品,以及您要執行的工作流程設定。
在套件組合的根目錄中,根據您是否使用 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
讓檔案保持
__init__.py
空白。將下列程式代碼新增至
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()
將下列程式代碼新增至
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
將下列程式代碼新增至
pyproject.toml
或setup.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:建立套件組合的組態檔
套件組合組態檔描述您要部署的成品,以及您想要執行的工作流程。
在套件組合的根目錄中,新增名為
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 轉輪檔案。 針對setuptools
,whl
如果未指定任何成品定義,則為預設值。 - 對應
path
會指出詩歌檔案的路徑pyproject.toml
,或 針對的setup.py
setuptools
檔案路徑。 此路徑相對於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 轉輪安裝會自動安裝在這些目標叢集上。
- 對應
如果您使用詩歌,請執行下列動作:
- 如果尚未安裝詩歌,請安裝詩歌 1.6 版或更新版本。 若要檢查已安裝的 Poetry 版本,請執行 命令
poetry -V
或poetry --version
。 - 請確定您已安裝 Python 3.10 版或更新版本。 若要檢查 Python 的版本,請執行 命令
python -V
或python --version
。 - 請確定您有 Databricks CLI 0.209.0 版或更新版本。 若要使用 Databricks CLI 版本,請執行 命令
databricks -v
或databricks --version
。 請參閱安裝或更新 Databricks CLI。
- 如果尚未安裝詩歌,請安裝詩歌 1.6 版或更新版本。 若要檢查已安裝的 Poetry 版本,請執行 命令
如果您使用
setuptools
,wheel
請執行下列命令,以安裝和setuptools
套件:pip3 install --upgrade wheel setuptools
如果您想要將此套件組合與 Git 提供者一起儲存,請在專案的根目錄中新增
.gitignore
檔案,並將下列專案新增至此檔案:Poetry
.databricks dist
Setuptools
.databricks build dist src/my_package/my_package.egg-info
步驟 4:驗證專案的套件組合設定檔
在此步驟中,您會檢查套件組合設定是否有效。
從根目錄驗證套件組合組態檔:
databricks bundle validate
如果傳回套件組合設定的摘要,則驗證成功。 如果傳回任何錯誤,請修正錯誤,然後重複此步驟。
如果您在此步驟後對套件組合進行任何變更,您應該重複此步驟,以檢查套件組合設定是否仍然有效。
步驟 5:建置 Python 轉輪檔案,並將本機專案部署至遠端工作區
在本機建置 Python 轉輪檔案、將建置的 Python 轉輪檔案部署至工作區、將筆記本部署至工作區,並在工作區中建立作業:
databricks bundle deploy -t dev
步驟 6:執行部署的專案
執行已部署的作業,它會使用已部署的筆記本來呼叫已部署的 Python 轉輪檔案:
databricks bundle run -t dev wheel-job
在輸出中,複製 並將
Run URL
它貼到網頁瀏覽器的網址列中。在作業執行的 [輸出 ] 頁面中,會出現下列結果:
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 連結 庫。