δ生活表的配置管道設置

預覽

這個特性是在公共預覽

本文詳細介紹了配置管道設置三角洲生活表。三角洲生活表提供了一個用戶界麵配置和編輯管道設置。UI還提供了一個選項來顯示和編輯設置JSON。

請注意

您可以配置大多數設置UI或JSON規範。一些高級選項隻使用JSON配置。

磚建議熟悉各種三角洲生活表設置使用UI。如果有必要,你可以在工作區中直接編輯JSON配置。JSON配置文件部署管道時也有用新環境或當使用CLIREST API

δ住一個完整的引用表的JSON配置設置,看看三角洲生活表管道配置

選擇一個產品版本

選擇三角洲生活表產品版最適合您的管道需求的特性。以下產品版本是可用的:

  • 核心流攝取工作負載運行。選擇核心版如果你的管道不需要高級特性等變化數據捕獲(CDC)或δ生活表期望。

  • 流攝取和疾病預防控製中心工作負載運行。的產品版本支持所有的核心特性,加上支持工作負載需要更新表基於源數據的變化。

  • 先進的流攝取工作負載運行,疾控中心的工作負載,負載需要的期望。的先進的產品版本支持的特性核心版本,還支持執行數據質量約束與達美住表期望。

您可以選擇當您創建或編輯一個管道產品版本。你可以選擇一個不同的版本為每個管道。看到三角洲生活表產品頁麵

請注意

如果你的管道包括選定的產品版本不支持的特性,例如,期望,您將收到一條錯誤消息和錯誤的原因。您可以編輯管道,選擇適當的版本。

選擇一個管道模式

你可以選擇不斷更新你的管道或手動觸發基於管道模式。看到連續與管道執行觸發

選擇一個集群政策

用戶必須有權限配置和更新部署計算管道三角洲住表。工作區管理員可以配置集群政策來為用戶提供訪問計算企業三角洲生活表。看到δ定義限製住表管道集群

請注意

集群政策是可選的。檢查與您的工作區管理員如果你缺乏計算表三角洲生活所需的特權。

配置源代碼庫

您可以使用文件選擇器在UI中配置一個或多個源代碼筆記本作為管道庫。您還可以修改JSON文件,包括三角洲生活表源代碼中定義的SQL和Python腳本存儲在工作區文件。

您可以添加源代碼庫以任意順序,因為三角洲生活表自動分析數據集構建管道的加工圖的依賴性。

下麵的例子包括筆記本和從磚回購的工作區文件:

{“名稱”:“例如管道3”,“存儲”:“dbfs: / pipeline-examples /存儲位置/青年們”,“庫”:({“筆記本”:{“路徑”:“/ example-notebook_1”}},{“筆記本”:{“路徑”:“/ example-notebook_2”}},{“文件”:{“路徑”:“回購/ < user_name > @www.eheci.com/Apply_Changes_Into/apply_changes_into.sql”}},{“文件”:{“路徑”:“回購/ < user_name > @www.eheci.com/Apply_Changes_Into/apply_changes_into.py”}}]}

指定一個存儲位置

你可以選擇指定一個存儲位置的管道蜂巢metastore出版。指定位置的主要動機是控製的對象存儲位置數據寫的您的管道。

因為所有表、數據、檢查點和元數據的生活表管道完全由δ生活表,大多數交互與達美住表數據集是通過注冊表蜂巢metastore或統一目錄。

為管道輸出表指定一個目標模式

雖然可選的,您應該指定一個目標發布表由管道隨時你超越新管道的開發和測試。發布一條輸油管道到目標使數據集用於查詢在您的磚環境。看到從三角洲住表發布數據蜂巢metastore管道使用統一的目錄與三角洲住表管道

配置您的計算設置

每個三角洲住表管道有兩個相關的集群。

  1. 默認的集群是用於管道更新過程。

  2. 維護集群運行日常維護任務。

計算設置在三角洲地區的生活表界麵主要目標默認集群用於管道更新。如果你選擇指定一個存儲位置需要的憑證數據訪問,您必須確保維護集群也有這些權限配置。

三角洲生活表為集群提供類似的選項設置為其他計算磚。像其他管道的設置,您可以修改JSON配置為集群指定選項沒有出現在UI。看到集群

請注意

  • 你不能在集群配置中設置火花版本。三角洲生活表集群上運行一個自定義的磚運行時版本不斷更新,包括最新的功能。手動設置一個版本可能導致管道故障。

  • 您可以配置三角洲生活表管道利用光子。看到光子運行時

使用自動定量來提高效率和減少資源的使用

使用增強自動定量優化集群利用率的管道。增強自動定量添加額外的資源隻有在係統確定這些資源會增加管道處理速度。資源被釋放就不再需要,盡快關閉所有管道和集群更新完成。

使用以下指南在配置增強自動定量生產管道:

  • 離開最小值工人在默認設置。

  • 設置馬克斯工人設置一個值基於預算和管道優先。

延遲關閉計算

因為δ生活表集群自動關閉不使用的時候,引用一個集群政策,集autotermination_minutes在您的集群配置會導致錯誤。關閉控製集群行為,您可以使用開發或生產方式或使用pipelines.clusterShutdown.delay設置在管道配置。下麵的示例設置pipelines.clusterShutdown.delay價值60秒:

{“配置”:{“pipelines.clusterShutdown.delay”:“六十年代”}}

生產模式被啟用,默認值pipelines.clusterShutdown.delay0。當發展模式被啟用,默認值是2小時

創建一個單獨的節點集群

如果你設置num_workers0在集群環境中,作為創建集群單節點集群。配置自動定量集群和設置min_workers為0,max_workers0還創建了單個節點集群。

如果你配置一個自動定量集群和設置min_workers為0,那麼集群不是作為單個節點創建集群。集群有至少1活躍職工時刻直到終止。

一個示例集群配置創建一個節點集群在三角洲住表:

{“集群”:({“標簽”:“默認”,“num_workers”:0}]}

集群配置標簽

您可以使用集群的標簽為您的管道集群監控使用。添加集群標簽在三角洲地區的生活表UI當您創建或編輯一個管道,或者通過編輯的JSON設置管道集群。

雲存儲配置

訪問一個桶在穀歌雲存儲(GCS),您必須創建一個服務帳戶訪問,GCS水桶和服務帳戶添加到集群配置。更多的信息創建一個穀歌雲服務帳戶,看到的穀歌雲存儲。您可以添加服務帳戶配置時創建編輯管道的現場表API或δ生活表界麵:

  1. 管道的細節為你的管道頁,單擊設置按鈕。的管道的設置頁麵出現。

  2. 單擊JSON按鈕。

  3. 輸入的服務帳戶配置gcp_attributes.google_service_account在集群配置:

{“集群”:({“標簽”:“默認”,“gcp_attributes”:{“google_service_account”:“test-gcs-doc@databricks-dev.iam.gserviceaccount.com”}},{“標簽”:“維護”,“gcp_attributes”:{“google_service_account”:“test-gcs-doc@databricks-dev.iam.gserviceaccount.com”}}]}

參數化管道

Python和SQL代碼定義了你的數據集可以參數化管道的設置。參數化使以下用例:

  • 從你的代碼分離長路徑和其他變量。

  • 減少處理的數據量在開發或登台環境加速試驗。

  • 重用相同的轉換邏輯來處理來自多個數據源。

下麵的例子使用了startDate可以配置值限製開發管道輸入數據的一個子集:

創建刷新生活customer_events作為選擇*sourceTable在哪裏日期>“$ {mypipeline.startDate}”;
@dltdefcustomer_events():start_date=火花相依得到(“mypipeline.startDate”)返回(“sourceTable”)在哪裏(上校(“日期”)>start_date)
{“名稱”:“數據攝取- DEV”,“配置”:{“mypipeline.startDate”:“2021-01-02”}}
{“名稱”:“數據攝取刺激”,“配置”:{“mypipeline.startDate”:“2010-01-02”}}

管道觸發間隔

您可以使用pipelines.trigger.interval控製流的觸發間隔更新一個表或一個完整的管道。因為引發管道過程隻有一次,每個表pipelines.trigger.interval隻有使用連續的管道。

磚建議設置pipelines.trigger.interval在單個表上,因為不同的默認值為流和批處理查詢。將值設置在管道隻有當你處理需要控製整個管道更新圖。

你設置pipelines.trigger.interval在桌子上使用spark_conf在Python中,或在SQL:

@dlt(spark_conf={“pipelines.trigger.interval”:“10秒”})def<函數- - - - - -的名字>():返回(<查詢>)
管道觸發時間間隔=“10秒”;創建刷新生活TABLE_NAME作為選擇

設置pipelines.trigger.interval在一個管道,將其添加到配置對象在管道設置:

{“配置”:{“pipelines.trigger.interval”:“10秒”}}

為管道添加郵件通知事件

您可以配置一個或多個電子郵件地址來接收通知以下發生時:

  • 管道更新成功完成。

  • 每次一個管道更新失敗的事情錯誤。

  • 一個管道更新失敗non-retryable(致命的)錯誤。

  • 一個數據流失敗。