分享方式:


在 Azure Databricks 作業中使用版本控制的原始程式碼

您可以使用位於遠端 Git 存放庫或 Databricks Git 資料夾的筆記本或 Python 程式代碼來執行作業。 這項功能可簡化生產作業的建立和管理,並將持續部署自動化:

  • 您不需要在 Azure Databricks 中建立個別的生產存放庫、管理其許可權,以及保持更新。
  • 您可以避免非預期的生產作業變更,例如生產存放庫中的本機編輯,或變更切換分支。
  • 作業定義進程在遠端存放庫中具有單一事實來源,而且每個作業執行都會連結到認可哈希。

若要在遠端 Git 存放庫中使用原始程式碼,您必須 設定 Databricks Git 資料夾 (Repos)

重要

從遠端 Git 存放庫執行的 Azure Databricks 作業所建立的筆記本是暫時的,無法依賴來追蹤 MLflow 執行、實驗或模型。 從作業建立筆記本時,請先使用 工作區 MLflow 實驗(而不是筆記本 MLflow 實驗 ),並在工作區筆記本中呼叫 mlflow.set_experiment("/path/to/experiment"),再執行任何 MLflow 追蹤程序代碼。 如需詳細資訊,請參閱 防止 MLflow 實驗中的數據遺失。

注意

如果您的作業使用服務主體作為身分識別執行,您可以在包含作業原始碼的 Git 資料夾中設定服務主體。 請參閱 搭配 Databricks Git 資料夾使用服務主體。

從遠端 Git 存放庫使用筆記本

若要使用位於遠端 Git 存放庫的筆記本建立工作:

  1. 按兩下 工作流程圖示 提要欄中的 [工作流程 ],然後按下 建立作業按鈕 或移至現有的作業並新增工作。

  2. 如果這是新的作業,請將 [新增作業的名稱...] 取代為您的作業名稱。

  3. [任務名稱] 欄位中輸入任務的名稱

  4. 在 [ 類型 ] 下拉功能表中,選取 [筆記本]。

  5. 在 [來源] 下拉功能表中,選取 [Git 提供者],然後按兩下 [編輯] 或 [新增 Git 參考]。 [ Git 資訊] 對話框隨即出現。

  6. 在 [ Git 資訊] 對話框中,輸入存放庫的詳細數據,包括存放庫 URL、Git 提供者和 Git 參考。 此 Git 參考可以是分支、標記或認可。

    針對 [路徑],輸入筆記本位置的相對路徑,例如 etl/notebooks/

    當您輸入相對路徑時,請勿以 或./開頭/,且不包含筆記本擴展名,例如 .py。 例如,如果您要存取之筆記本的絕對路徑是 /notebooks/covid_eda_raw.py,請在 [路徑] 字段中輸入 notebooks/covid_eda_raw

  7. 按一下 [建立]

重要

如果您直接從來源 Git 存放庫使用 Python 筆記本,筆記本來源檔案的第一行必須是 # Databricks notebook source。 針對 Scala 筆記本,原始程式檔的第一行必須是 // Databricks notebook source

從遠端 Git 存放庫使用 Python 程式代碼

若要使用位於遠端 Git 存放庫的 Python 程式代碼建立工作:

  1. 按兩下 工作流程圖示 提要欄中的 [工作流程 ],然後按下 建立作業按鈕 或移至現有的作業並新增工作。

  2. 如果這是新的作業,請將 [新增作業的名稱...] 取代為您的作業名稱。

  3. [任務名稱] 欄位中輸入任務的名稱

  4. 在 [ 類型 ] 下拉功能表中,選取 [Python 腳本]。

  5. 在 [來源] 下拉功能表中,選取 [Git 提供者],然後按兩下 [編輯] 或 [新增 Git 參考]。 [ Git 資訊] 對話框隨即出現。

  6. 在 [ Git 資訊] 對話框中,輸入存放庫的詳細數據,包括存放庫 URL、Git 提供者和 Git 參考。 此 Git 參考可以是分支、標記或認可。

    針對 [路徑],輸入來源位置的相對路徑,例如 etl/python/python_etl.py

    當您輸入相對路徑時,請勿以 /./開頭。 例如,如果您想要存取之 Python 程式代碼的絕對路徑是 /python/covid_eda_raw.py,請在 [路徑] 欄位中輸入 python/covid_eda_raw.py

  7. 按一下 [建立]

當您檢視 執行儲存在遠端 Git 存放庫中之 Python 程式代碼的工作執行歷程記錄 時,[ 工作執行詳細 數據] 面板會包含 Git 詳細數據,包括與執行相關聯的認可 SHA。

從遠端 Git 存放庫使用 SQL 查詢

注意

檔案中僅支援一個 SQL 語句。 不允許以分號分隔的多個 SQL 語句(;)。

若要執行儲存在位於遠端 Git 存放庫之檔案中的 .sql 查詢:

  1. 按兩下 工作流程圖示 提要欄中的 [工作流程 ],然後按下 建立作業按鈕 或移至現有的作業並新增工作。

  2. 如果這是新的作業,請將 [新增作業的名稱...] 取代為您的作業名稱。

  3. [任務名稱] 欄位中輸入任務的名稱

  4. 在 [ 類型 ] 下拉功能表中,選取 [ SQL]。

  5. 在 [ SQL 工作 ] 下拉功能表中,選取 [ 檔案]。

  6. 在 [來源] 下拉功能表中,選取 [Git 提供者],然後按兩下 [編輯] 或 [新增 Git 參考]。 [ Git 資訊] 對話框隨即出現。

  7. 在 [ Git 資訊] 對話框中,輸入存放庫的詳細數據,包括存放庫 URL、Git 提供者和 Git 參考。 此 Git 參考可以是分支、標記或認可。

    針對 [路徑],輸入來源位置的相對路徑,例如 queries/sql/myquery.sql

    當您輸入相對路徑時,請勿以 /./開頭。 例如,如果您想要存取之 SQL 查詢的絕對路徑是 /sql/myqeury.sql,請在 [路徑] 欄位中輸入 sql/myquery.sql

  8. 選取 SQL 倉儲。 您必須選取無伺服器 SQL 倉儲或 Pro SQL 倉儲。

  9. 按一下 [建立]

從遠端 Git 存放庫新增其他工作

多任務作業中的其他工作可以透過下列其中一種方式參考遠端存放庫中的相同認可:

  • sha設定時git_branch$branch/head
  • sha設定時git_tag$tag
  • 的值 git_commit

您可以在 Azure Databricks 作業中混合筆記本和 Python 工作,但必須使用相同的 Git 參考。

使用 Databricks Git 資料夾

如果您想要使用 Azure Databricks UI 來版本控制原始程式碼, 請將存放庫 複製到 Databricks Git 資料夾。 如需詳細資訊,請參閱 選項 2:設定生產 Git 資料夾和 Git 自動化

若要從作業工作的 Git 資料夾新增筆記本或 Python 程式代碼,請在 [來源] 下拉功能表中選取 [工作區],然後在 [路徑] 中輸入筆記本或 Python 程式代碼的路徑。

從 IDE 存取筆記本

如果您需要從集成開發環境存取筆記本,請確定您在筆記本原始程式碼檔案頂端有批注 # Databricks notebook source 。 為了區分一般 Python 檔案和以原始程式碼格式導出的 Azure Databricks Python 語言筆記本,Databricks 會在筆記本原始程式碼檔案頂端新增這一行 # Databricks notebook source 。 當您匯入筆記本時,Azure Databricks 會將其辨識並匯入為筆記本,而不是 Python 模組。

疑難排解

注意

以 Git 為基礎的作業不支援工作區檔案的寫入許可權。 若要將數據寫入暫存位置,請使用驅動程式記憶體。 若要從 Git 作業寫入持續性數據,請使用 UC 磁碟區或 DBFS。

錯誤訊息

Run result unavailable: job failed with error message Notebook not found: path-to-your-notebook

可能的原因:

您的筆記本遺漏筆記本原始碼檔案頂端的批注,或批注中的批注# Databricks notebook sourcenotebook,會在必須以小寫 開頭時大寫n