共用方式為


Azure Databricks 工作流程簡介

Azure Databricks 工作流程會在 Databricks Data Intelligence Platform 上協調數據處理、機器學習和分析管線。 工作流程已完全受控協調流程服務與 Databricks 平臺整合,包括 Azure Databricks 作業,以在 Azure Databricks 工作區和 Delta Live Tables 中執行非互動式程式代碼,以建置可靠且可維護的 ETL 管線。

若要深入瞭解使用 Databricks 平台協調工作流程的優點,請參閱 Databricks 工作流程

Azure Databricks 工作流程範例

下圖說明由 Azure Databricks 作業所協調的工作流程:

  1. 執行 Delta Live Tables 管線,從雲端記憶體擷取原始點擊串流數據、清理和準備數據、將數據會話化,並將最終會話化數據集保存至 Delta Lake。
  2. 執行 Delta Live Tables 管線,從雲端記憶體擷取訂單數據、清理和轉換數據以供處理,並將最終數據集保存至 Delta Lake。
  3. 聯結順序和會話化的點擊串流數據,以建立新的數據集進行分析。
  4. 從備妥的數據擷取特徵。
  5. 平行執行工作,以保存特徵並定型機器學習模型。

說明範例工作流程的圖表

什麼是 Azure Databricks 作業?

Azure Databricks 作業是在 Azure Databricks 工作區中執行數據處理和分析應用程式的一種方式。 您的作業可以包含單一工作,也可以是具有複雜相依性的大型多工工作流程。 Azure Databricks 會管理所有作業的工作協調流程、叢集管理、監視和錯誤報表。 您可以透過易於使用的排程系統、每當新檔案抵達外部位置,或持續確保作業的實例一律執行時,立即執行作業。 您也可以在筆記本 UI以互動方式執行作業。

您可以使用作業 UI、Databricks CLI,或叫用作業 API 來建立和執行作業。 您可以使用 UI 或 API 修復並重新執行失敗或取消的作業。 您可以使用UI、CLI、API和通知來監視作業執行結果(例如,電子郵件、Webhook目的地或 Slack 通知)。

若要瞭解如何使用 Databricks CLI,請參閱 什麼是 Databricks CLI?。 若要瞭解如何使用作業 API,請參閱 作業 API

下列各節涵蓋 Azure Databricks 作業的重要功能。

重要

  • 工作區限制為1000個並行工作執行。 429 Too Many Requests 回應會在您要求無法立即啟動的執行時傳回。
  • 工作區一小時內可建立的工作數目限制為10000個(包括「執行提交」)。 這項限制也會影響 REST API 和筆記本工作流程所建立的作業。

使用作業工作實作數據處理和分析

您可以使用工作來實作數據處理和分析工作流程。 作業是由一或多個工作所組成。 您可以建立執行筆記本、JARS、Delta Live Tables 管線或 Python、Scala、Spark 提交和 Java 應用程式的作業工作。 您的作業工作也可以協調 Databricks SQL 查詢、警示和儀錶板來建立分析和視覺效果,也可以使用 dbt 工作在工作流程中執行 dbt 轉換。 也支援舊版 Spark 提交應用程式。

您也可以將工作新增至執行不同作業的作業。 這項功能可讓您將大型進程分成多個較小的作業,或建立可由多個作業重複使用的一般化模組。

您可以藉由指定工作之間的相依性來控制工作的執行順序。 您可以設定工作以順序或平行方式執行。

以互動方式、持續或使用作業觸發程式執行作業

您可以從作業 UI、API 或 CLI 以互動方式執行作業,也可以執行 連續作業。 您可以建立排程,定期執行作業,或在新檔案抵達外部位置時執行作業,例如 Amazon S3、Azure 記憶體或 Google Cloud 記憶體。

使用通知監視作業進度

您可以在作業或工作啟動、完成或失敗時收到通知。 您可以將通知傳送至一或多個電子郵件地址或系統目的地(例如 Webhook 目的地或 Slack)。 請參閱 新增工作事件的電子郵件和系統通知。

使用 Azure Databricks 計算資源執行您的作業

Databricks 叢集和 SQL 倉儲會為您的作業提供計算資源。 您可以使用作業叢集、所有用途叢集或 SQL 倉儲來執行作業:

  • 作業叢集是作業或個別作業工作的專用叢集。 您的作業可以使用所有工作共用的作業叢集,或者您可以在建立或編輯工作時為個別工作設定叢集。 作業或工作在作業或工作結束時啟動和終止時,就會建立作業叢集。
  • 全用途叢集是手動啟動和終止的共用叢集,可由多個使用者和作業共用。

為了優化資源使用量,Databricks 建議針對您的作業使用作業叢集。 若要減少等候叢集啟動所花費的時間,請考慮使用所有用途的叢集。 請參閱 搭配您的作業使用 Azure Databricks 計算。

您可以使用 SQL 倉儲來執行 Databricks SQL 工作,例如查詢、儀錶板或警示。 您也可以使用 SQL 倉儲搭配 dbt 工作來執行 dbt 轉換。

下一步

若要開始使用 Azure Databricks 作業:

深入瞭解使用 Azure Databricks 作業建置、管理及疑難解答工作流程:

什麼是 Delta Live Tables?

注意

Delta Live Tables 需要 進階版 方案。 如需詳細資訊,請連絡 Databricks 帳戶小組。

Delta Live Tables 是簡化 ETL 和串流數據處理的架構。 Delta Live Tables 提供有效率的數據內建擷取支援 自動載入器、SQL 和 Python 介面,以支援數據轉換的宣告式實作,以及支援將數據寫入 Delta Lake。 您可以定義要對數據執行的轉換,而 Delta Live Tables 會管理工作協調流程、叢集管理、監視、數據品質及錯誤處理。

若要開始使用,請參閱 什麼是 Delta Live Tables?

Azure Databricks 作業和 Delta 實時數據表

Azure Databricks 作業和 Delta 即時數據表提供建置及部署端對端數據處理和分析工作流程的完整架構。

針對數據的所有擷取和轉換使用差異實時數據表。 使用 Azure Databricks 作業來協調由 Databricks 平臺上單一工作或多個數據處理和分析工作所組成的工作負載,包括差異實時數據表擷取和轉換。

作為工作流程協調流程系統,Azure Databricks 作業也支援:

  • 以觸發為基礎執行作業,例如,依排程執行工作流程。
  • 使用筆記本、腳本或外部連結庫等,透過 SQL 查詢、機器學習和數據分析進行數據分析。
  • 執行由單一工作組成的作業,例如,執行封裝在 JAR 中的 Apache Spark 作業。

使用 Apache AirFlow 的工作流程協調流程

雖然 Databricks 建議使用 Azure Databricks 作業來協調您的數據工作流程,但您也可以使用 Apache Airflow 來管理及排程數據工作流程。 使用 Airflow 時,您會在 Python 檔案中定義工作流程,而 Airflow 會管理排程和執行工作流程。 請參閱 使用 Apache Airflow 協調 Azure Databricks 作業。

使用 Azure Data Factory 的工作流程協調流程

Azure Data Factory (ADF) 是雲端數據整合服務,可讓您將數據記憶體、移動和處理服務撰寫至自動化數據管線。 您可以使用ADF來協調 Azure Databricks 作業,作為ADF管線的一部分。

若要瞭解如何使用 ADF Web 活動執行作業,包括如何從 ADF 向 Azure Databricks 進行驗證,請參閱 從 Azure Data Factory 運用 Azure Databricks 作業協調流程。

ADF 也提供內建支援,以執行 ADF 管線中封裝的 Databricks 筆記本、Python 腳本或程式代碼。

若要瞭解如何在 ADF 管線中執行 Databricks 筆記本,請參閱 在 Azure Data Factory 中使用 Databricks Notebook 活動執行 Databricks Notebook,然後 執行 Databricks Notebook 來轉換數據。

若要瞭解如何在ADF管線中執行 Python 腳本,請參閱 在 Azure Databricks 中執行 Python 活動來轉換數據。

若要瞭解如何在 ADF 管線中執行封裝在 JAR 中的程式碼,請參閱 在 Azure Databricks 中執行 JAR 活動來轉換數據。