你在 Lakeflow Designer 中建立的每個視覺化資料準備檔案,背後皆有可投入生產環境的程式碼支援,並儲存在名為 <name>.designer.ipynb 的筆記本中。 你可以用和其他 Azure Databricks 程式碼相同的工具把它移到生產環境:把它存到 Git 裡,當作工作執行,然後用宣告式自動化套件部署。
本頁說明如何將視覺化資料準備檔案從原型帶到生產。
Git 中的儲存與版本
工作區原生儲存視覺資料準備檔案。 要版本化視覺資料準備檔案,請將其放入 Git 資料夾,並像其他筆記本一樣追蹤:
- 在你的工作區建立一個 Git 資料夾。
- 把視覺資料準備檔移到那個 Git 資料夾。
- 像在 Git 中處理任何其他筆記本一樣,追蹤、提交並對這個檔案進行版本控制。 在 Git 中,檔案呈現為
<file_name>.designer.ipynb。
欲了解更多關於 Git 資料夾的資訊,請參閱 Azure Databricks Git 資料夾。 若要匯出或匯入視覺資料準備檔案,請參見 「匯出與匯入視覺資料準備檔案」。
排班作為一份工作
你可以將視覺化資料準備檔案排程為作業,以將其自動化。
- 直接排程:點擊頂部選單中的 排程 按鈕,為您的視覺資料準備檔案建立排程工作。
- 新增至作業:建立 Azure Databricks 作業,並將您的視覺化資料前置處理檔案新增為任務。 這讓你能將該視覺化資料準備檔案與其他工作合併,形成更大的流程。 在任務 類型 下拉選單中,選擇 視覺資料準備,然後選擇檔案。
排程執行會在工作任務圖中將每個操作員作為獨立節點顯示,因此你可以像在畫布上一樣檢視每個操作員的結果。
若要查看和管理現有的排程,請再次點擊 排程 以開啟清單。 點擊 新增行程 可建立另一個行程,或開啟行程的 從烤肉串選單切換到 編輯、 立即執行、 暫停、 克隆、 在工作中檢視或 刪除 。
在某次執行中顯示運算子的輸出
預設情況下,排程運行只會為終端操作員(沒有下游連線的操作員)產生輸出,例如輸出操作員。 要查看執行中每個運算子的結果,請在排程對話框中展開 「進階設定 」並選擇 顯示運算子輸出。
在大型畫布時關閉此選項,以避免超過連續輸出大小限制。
選擇無伺服器環境
當你處理視覺化資料準備檔案時,可以選擇用於互動執行和排程工作所需的無伺服器環境。 像設定筆記本一樣,請從右側邊欄的 環境側面板進行設定。 在 基礎環境中,選擇一個環境版本。 請參閱 設定無伺服器環境。
跨環境參數化
參數是為整個視覺化資料準備檔案定義的命名值,你可以從 SQL 和 Python 運算子中參考。 關於定義與引用參數的詳細資訊,請參見 參數。
參數讓你能在不同環境下執行相同的視覺化資料準備檔案,例如開發中的測試目錄和生產環境的生產目錄。
-
在使用者介面中為工作建立排程時:可為每個排程覆寫參數值。 例如,建立一個排程,將參數設為
environment來執行test,另一個則將該參數設為production。 -
使用 bundle 部署時:透過工作的
parameters設定參數值,並使用 bundle 目標為不同環境提供不同的值。 開發與生產目標的捆綁則允許你將同一個工作部署到具有特定環境設定的不同環境。 請參閱 宣告式自動化套件的部署模式 與 宣告式自動化套件的配置。
執行時,視覺化資料準備檔無論以互動式或工作方式讀取參數,都能以相同方式讀取,因此同一個檔案能在所有環境中運作,無需更改。
根據不同環境從不同表格讀取
若要從不同環境中不同的來源資料表讀取資料,請使用帶有參數的 SQL 運算子,而非固定的原始碼運算子。 定義 catalog、 schema和 table 參數,然後用 IDENTIFIER() 子句來參考它們,以動態建立資料表名稱:
SELECT * FROM IDENTIFIER(:catalog || '.' || :schema || '.' || :table)
針對每個排程或套件目標覆寫 catalog、schema 或 table 參數,讓同一個視覺資料準備檔案在開發期間指向測試資料,並在正式環境中指向正式資料。 關於該 IDENTIFIER() 條款的更多資訊,請參見 IDENTIFIER 條款。
使用宣告式自動化套件部署
宣告式自動化套件讓你能定義並部署 Azure Databricks 資源,如工作,作為原始碼檔案,讓你能將軟體工程最佳實務如原始碼控制、程式碼審查、測試及 CI/CD 套用到視覺化資料準備檔案中。 請參閱「什麼是宣告式自動化套件?」。
若要部署帶有套件的視覺化資料準備檔案,請定義筆記本任務並在 中參考檔案路徑.designer.ipynb。notebook_task.notebook_path 在 bundle 中,視覺化資料準備檔案會使用該 notebook_task 鍵,儘管 Jobs 介面將其顯示為 視覺化資料準備 任務類型。
以下範例定義了一個工作,該工作執行位於組合組設定檔旁的視覺化資料準備檔案:
resources:
jobs:
daily_prep_job:
name: daily_prep_job
tasks:
- task_key: run_visual_data_prep
notebook_task:
notebook_path: ./my_transformation.designer.ipynb
使用 Azure Databricks CLI 部署並執行套件組合:
databricks bundle deploy
databricks bundle run daily_prep_job
關於完整的筆記本任務鍵組,請參見 筆記本任務。 想完整了解如何在套件中定義工作,請參見 「用宣告式自動化套件開發工作」。
透過 CI/CD 自動化
若要自動驗證並部署視覺化資料準備套件,請將它們整合進 CI/CD 管線中。 關於使用 GitHub Actions 的範例,請參見 GitHub Actions。