什麼是Databricks工作流?

Databricks Workflows在Databricks Lakehouse平台中編排數據處理、機器學習和分析管道。Beplay体育安卓版本工作流具有與Databricks平台集成的完全管理的編排服務,包括Databricks job(在Databricks工作空間中運行非交互式代碼)和Delta LiBeplay体育安卓版本ve Tables(用於構建可靠和可維護的ETL管道)。下圖說明了由Databricks作業編排的工作流:

  1. 運行Delta Live Tables管道,從雲存儲中攝取原始點擊流數據,清理和準備數據,會話數據,並將最終會話數據集持久化到Delta Lake。

  2. 運行Delta Live Tables管道,該管道從雲存儲中攝取訂單數據,清理和轉換數據以進行處理,並將最終數據集持久化到Delta Lake。

  3. 聯接訂單和會話化點擊流數據,以創建用於分析的新數據集。

  4. 從準備好的數據中提取特征。

  5. 並行執行任務以持久化特征並訓練機器學習模型。

說明示例工作流的圖表

什麼是數據庫工作?

Databricks作業是在Databricks工作空間中運行數據處理和分析應用程序的一種方式。您的工作可以由單個任務組成,也可以是具有複雜依賴關係的大型多任務工作流。Databricks管理所有作業的任務編排、集群管理、監控和錯誤報告。您可以立即運行作業,通過易於使用的調度係統定期運行作業,或者在新文件到達外部位置時持續運行作業,以確保作業的實例始終在運行。中以交互方式運行作業筆記本用戶界麵

您可以使用Jobs UI、Databricks CLI或調用Jobs API來創建和運行作業。您可以使用UI或API修複並重新運行失敗或取消的作業。您可以使用UI、CLI、API和通知(例如,電子郵件、webhook目的地或Slack通知)監控作業運行結果。

要了解如何使用Databricks CLI,請參見喬布斯CLI。要了解如何使用Jobs API,請參見職位API 2.1

以下部分將介紹Databricks Jobs的重要特性。

重要的

  • 隻能在數據科學與工程工作空間或機器學習工作空間中創建作業。

  • 一個工作空間被限製為1000個並發任務運行。一個429許多請求當您請求不能立即開始的運行時,返回響應。

  • 一個工作空間在一小時內可以創建的作業數量限製為10000個(包括“運行提交”)。此限製還會影響REST API和筆記本工作流創建的作業。

執行工作任務中的數據處理和分析

使用。實現數據處理和分析工作流任務。作業由一個或多個任務組成。您可以創建運行筆記本、jar、Delta Live Tables管道或Python、Scala、Spark提交和Java應用程序的作業任務。您的工作任務還可以編排Databricks SQL查詢、警報和儀表板來創建分析和可視化,或者您可以使用dbt任務在您的工作流中運行dbt轉換。還支持遺留Spark Submit應用程序。

您可以通過指定任務之間的依賴關係來控製任務的執行順序。您可以將任務配置為按順序或並行運行。

以交互方式、連續地或使用作業觸發器運行作業

您可以從jobs UI、API或CLI以交互方式運行作業,也可以運行連續的工作。你可以創建一個時間表定期運行作業或在何時運行作業新文件到達在外部位置,如Amazon S3或Azure存儲中。

使用通知監視作業進度

當作業或任務開始、完成或失敗時,您可以收到通知。您可以將通知發送到一個或多個電子郵件地址或係統目的地(例如,webhook目的地或Slack)。看到為工作事件添加電子郵件和係統通知

使用Databricks計算資源運行作業

數據庫集群和SQL倉庫為你的作業提供計算資源。您可以使用作業集群、通用集群或SQL倉庫運行作業:

  • 作業集群是用於作業或單個作業任務的專用集群。作業可以使用由所有任務共享的作業集群,也可以在創建或編輯任務時為單個任務配置集群。作業集群在作業或任務開始時創建,在作業或任務結束時終止。

  • 通用集群是手動啟動和終止的共享集群,可以由多個用戶和作業共享。

為了優化資源使用,Databricks建議為作業使用作業集群。為了減少等待集群啟動的時間,可以考慮使用通用集群。看到集群配置技巧

使用SQL倉庫運行Databricks SQL任務,如查詢、儀表板或警報。還可以使用SQL倉庫對dbt任務運行dbt轉換。

下一個步驟

開始Databricks的工作:

  • 創建第一個Databricks作業工作流快速入門

  • 了解如何使用Databricks作業創建、查看和運行工作流用戶界麵

使用Databricks job了解有關構建、管理和故障排除工作流的更多信息:

什麼是Delta Live Tables?

Delta Live Tables是一個簡化ETL和流數據處理的框架。Delta Live Tables提供內置支持的有效數據攝取自動加載程序, SQL和Python接口,支持聲明式的數據轉換實現,並支持將轉換後的數據寫入Delta Lake。您可以定義要對數據執行的轉換,Delta Live Tables管理任務編排、集群管理、監控、數據質量和錯誤處理。

要開始,請看什麼是Delta Live Tables?

Databricks作業和Delta活動表

Databricks Jobs和Delta Live Tables為構建和部署端到端數據處理和分析工作流提供了一個全麵的框架。

使用Delta Live表進行所有數據的攝取和轉換。使用Databricks作業來編排Lakehouse平台中由單個任務或多個數據處理和分析任務組成的工作負載,包括Delta Live表的攝取和轉換。Beplay体育安卓版本

作為一個工作流編製係統,Databricks Jobs還支持:

  • 在觸發的基礎上運行作業,例如,在計劃上運行工作流。

  • 通過SQL查詢、機器學習和使用筆記本、腳本或外部庫進行數據分析,等等。

  • 運行由單個任務組成的作業,例如,運行打包在JAR中的Apache Spark作業。

使用Apache氣流進行工作流編排

雖然Databricks建議使用Databricks作業來編排數據工作流,但您也可以使用Apache氣流管理和調度您的數據工作流。使用氣流,您可以在Python文件中定義工作流,氣流管理調度和運行工作流。看到用Apache風流編排Databricks作業