三角洲生活表的概念
本文介紹了您應該理解基本概念有效地使用三角洲住表。
管道
三角洲的主要執行單元是一個生活表管道。管道是一個有向無環圖(DAG)連接數據源和目標數據集。您定義的內容三角洲生活表數據集使用SQL查詢或Python函數返回SQL或考拉DataFrames火花。管道也都有一個關聯的配置定義運行管道所需的設置。您可以選擇性地指定數據質量約束在定義數據集。
你實現三角洲住表管道磚筆記本電腦。您可以實現管道在一個筆記本或在多個筆記本。必須實現所有查詢在一個筆記本在Python或SQL,但是您可以配置multiple-notebook管道與Python和SQL的筆記本。每個筆記本股票輸出數據的存儲位置,可以參考數據集從其他筆記本的管道。
您可以使用磚回購存儲和管理你的筆記本三角洲住表。讓一個筆記本管理與磚回購時可用創建一個管道:
添加注釋行
- - -磚筆記本源
頂部的一個SQL筆記本。添加注釋行
#磚筆記本源
Python的頂部筆記本。
您還可以使用一個磚回購來存儲你的Python代碼並將其作為模塊管道筆記本。看到進口磚回購的Python模塊。
看到創建、運行和管理三角洲住表管道了解更多關於創建和運行一個管道。看到在管道配置多個筆記本為配置multi-notebook管道的一個例子。
預期
你使用預期指定數據集數據質量控製的內容。與檢查
約束在傳統數據庫中禁止添加任何記錄失敗的約束,期望提供靈活性在處理數據失敗數據質量的要求。這種靈活性允許您處理和存儲數據,你希望是混亂和數據必須符合嚴格的質量要求。
數據集
有兩種類型的數據集在三角洲生活表管道:的觀點和表。
視圖是類似於SQL和臨時視圖是一個別名對一些計算。一個視圖允許您將一個複雜的查詢分解成更小的或更容易查詢。視圖還可以重用一個給定的轉換作為多個表的來源。視圖僅在一個管道可用,不能查詢交互。
表類似傳統的物化視圖。三角洲表運行時自動創建表的生活δ格式,確保那些表更新最新創建的表的查詢的結果。
您可以定義一個生活或流媒體直播視圖或表:
現場總表或視圖反映了查詢的結果定義,包括當定義表或視圖的查詢更新,或者更新一個輸入數據來源。像傳統的物化視圖,一個生活表或視圖時可能完全計算可能的優化計算資源和時間。
流媒體直播表或視圖的過程數據,隻添加了自上次管道更新。流表和視圖狀態;如果定義查詢發生變化,新的數據將根據新的查詢和處理現有的數據重新計算。
流媒體直播表是有價值的用例,包括:
數據保留:流媒體直播表可以無限期保存數據,即使一個輸入數據源保持較低,例如,流數據來源如Apache卡夫卡或亞馬遜運動。
數據源進化:數據可以保留即使數據源發生變化,例如,從卡夫卡運動。
你可以發布你的表,使它們可用於發現和下遊消費者的查詢。
管道的更新
在您創建的管道和準備運行它,你開始一個更新。更新:
開始與正確的集群配置。
發現所有的表和視圖定義,並檢查等任何分析錯誤無效的列名,失蹤的依賴,和語法錯誤。
創建或更新表和視圖與可用的最新數據。
表和視圖的更新,這些表是如何更新視圖,取決於更新類型:
刷新所有:所有生活表更新,以反映當前狀態的輸入數據來源。對於所有直播表,新行添加到表中。
全部刷新所有:所有生活表更新,以反映當前狀態的輸入數據來源。流媒體直播表,三角洲生活表試圖清除所有數據從每個表,然後加載所有數據流源。
刷新選擇的行為:
刷新選擇
是一樣刷新所有
,但允許你隻刷新選擇表。選擇生活表更新,以反映當前狀態的輸入數據來源。對於選定的流媒體直播表,新行添加到表中。全部刷新選擇的行為:
完整的刷新選擇
是一樣完整的刷新所有
,但允許您執行全麵刷新隻選擇表。選擇生活表更新,以反映當前狀態的輸入數據來源。為選定的現場直播表,三角洲住表試圖清除所有數據從每個表,然後加載所有數據流源。
現有的生活表,更新相同的行為作為一個SQL刷新
物化視圖。為新生活表,和SQL一樣的行為創建
操作。
如果管道觸發刷新後,係統停止處理管道中的所有表或選擇的表一次。
觸發更新成功完成時,每個表的更新保證基於可用的數據被更新時,更新開始。
對於需要低延遲的用例,您可以配置一個管道不斷更新。看到連續和引發管道更多信息選擇一個對你的管道執行模式。
連續和引發管道
三角洲生活表支持兩種不同的執行方式:
引起管道更新每個表與數據是目前然後停止運行管道的集群。三角洲生活表自動分析表之間的依賴關係,首先計算那些閱讀從外部來源。表內的管道更新相關的數據源後已經更新。
連續管道不斷更新表作為輸入數據的變化。一旦開始一個更新,它繼續運行直到手動停止。連續管道需要一個總在集群但確保下遊消費者最新的數據。
引起管道可以減少資源消耗和費用自集群隻運行足夠長的時間來執行管道。然而,新數據不會被處理,直到管道被觸發。連續管道需要一個總在集群中,這是更昂貴但減少處理延遲。
的連續
國旗的管道的設置控製執行模式。管道運行在默認觸發執行模式。集連續
來真正的
如果你需要低延遲更新的表在你的管道。
{…“連續”:真的,…}
執行模式是獨立於類型的表被計算。生活和直播表可以更新執行模式。
如果一些表管道延遲需求較弱,你可以通過設置獨立配置他們的更新頻率pipelines.trigger.interval
設置:
spark_conf={“pipelines.trigger.interval”:“1小時”}
這個選項不關閉集群之間的管道更新,但可以免費資源更新其他表在你的管道。
表和視圖在連續管道
您可以使用生活表或視圖和流表或視圖生活在不斷運行的管道。避免不必要的處理、管道自動監控依賴三角洲表和執行更新隻有當這些依賴表的內容已經改變了。
三角洲生活表運行時無法檢測non-Delta數據源的變化。表仍然是定期更新,但更高的違約觸發間隔,防止過度重新計算減速任何增量處理發生在集群上。
開發和生產模式
你可以通過切換優化管道執行開發和生產模式。使用在管道UI按鈕這兩個模式之間進行切換。默認情況下,管道在開發模式下運行。
當您運行您的管道開發模式下,三角洲生活表係統:
重用一個集群,以避免重啟的開銷。默認情況下,集群發展模式被啟用時跑了兩個小時。你可以改變這一切
pipelines.clusterShutdown.delay
設置在集群配置。禁用管道重試,這樣你就可以立即檢測並修複錯誤。
在生產模式下,三角洲生活表係統:
為特定的可恢複錯誤重新啟動集群,包括內存泄漏和陳舊的憑證。
重試時執行特定的錯誤,例如,一個失敗的開始一個集群。
請注意
開發和生產模式之間輕鬆切換隻控製集群和管道執行行為。存儲位置和目標模式出版的目錄表必須作為管道的設置和配置模式之間切換時不受影響。
磚增強自動定量
磚增強自動定量優化集群利用率通過自動配置集群資源根據工作負載體積,與數據處理影響最小延遲你的管道。
增強自動定量改善磚集群自動定量功能具有以下特點:
增強自動定量實現優化流工作負載,並添加對改善批處理工作負載的性能的增強。這些優化導致更有效的集群利用率,減少資源的使用,降低成本。
增強自動定量主動關閉節點利用率低下,同時保證在關閉沒有失敗的任務。現有的集群自動定量特征尺度節點隻有在節點空閑。
增強自動定量是默認的自動定量模式當你創建一個新的管道在三角洲地區的生活表UI。您可以啟用增強現有管道的自動定量編輯管道設置在UI中。你也可以啟用增強自動定量當您創建或編輯管道與三角洲住表API。
啟用增強自動定量
使用增強的自動定量,做以下之一:
添加
自動定量
管道配置默認的
集群和設置模式
字段增強
。下麵的示例集群配置一個增強的自動定量最少5工人和最多10個工人。max_workers
必須大於或等於min_workers
。
請注意
增強自動定量是可用的
默認的
集群。如果你包括自動定量
配置維護集群配置,使用現有的集群自動定量特性。的
自動定量
配置有兩種模式:遺產
:使用集群自動定量。增強
:使用增強的自動定量。
{“集群”:({“標簽”:“默認”,“自動定量”:{“min_workers”:5,“max_workers”:10,“模式”:“增強”}}]}
管道自動重新啟動後自動定量配置更改管道連續。重啟之後,短時間內會增加延遲。後這段時間延遲增加,集群規模應該基於您的更新自動定量
配置和管道延遲恢複之前的延遲特性。
增強的自動定量監測管道啟用
您可以使用三角洲生活表事件日誌監控增強自動定量指標。您可以查看的指標用戶界麵。增強自動定量的事件自動定量
事件類型。下麵是示例事件:
事件 |
消息 |
---|---|
集群調整請求開始 |
|
集群調整請求成功 |
|
集群調整請求部分成功 |
|
集群調整請求失敗 |
|
您還可以查看增強自動定量事件通過直接查詢事件日誌:
為積壓指標查詢事件日誌,看看積壓指標。
監控集群調整請求和響應增強的自動定量操作期間,看到的磚增強的自動定量的事件。
產品版本
您可以使用三角洲生活表產品版本選項來運行您的管道特性最適合管道要求。以下產品版本是可用的:
核心
流攝取工作負載運行。選擇核心
版如果你的管道不需要高級特性等變化數據捕獲(CDC)或δ生活表預期。箴
流攝取和疾病預防控製中心工作負載運行。的箴
產品版本支持所有的核心
特性,加上支持工作負載需要更新表基於源數據的變化。先進的
流攝取工作負載運行,疾控中心的工作負載,負載需要的期望。的先進的
產品版本支持的特性核心
和箴
版本,還支持執行數據質量約束與達美住表期望。
你可以選擇當你的產品版本創建或編輯一個管道。你可以選擇一個不同的版本為每個管道。
如果你的管道包括選定的產品版本不支持的特性,例如,期望,您將收到一條錯誤消息和錯誤的原因。您可以編輯管道,選擇適當的版本。