δ生活是什麼表?

三角洲生活表是一種聲明性框架為構建可靠、可維護、可測試的數據處理管道。您定義的轉換數據和δ住表上執行管理任務編排、集群管理、監控、數據質量和錯誤處理。

預覽

這個特性是在公共預覽

而不是定義你的數據管道使用Apache引發一係列單獨的任務,您定義流表和物化視圖,係統應該創建和保持最新。三角洲生活表管理數據轉換基於查詢你如何定義每個處理步驟。您還可以執行數據質量與達美住表預期,它允許您定義預期的數據質量和指定如何處理失敗的記錄這些期望。

δ住表數據集是什麼?

三角洲住表數據流表、物化視圖和視圖維護聲明查詢的結果。下表描述了每個數據集處理:

數據集類型

通過定義查詢記錄是如何處理的?

流表

每個記錄是處理一次。這假定一個擴展源。

物化視圖

記錄處理要求返回當前數據狀態的準確的結果。物化視圖應該用於數據源的更新,刪除,或聚合,變化數據捕獲處理(CDC)。

的觀點

記錄每次處理視圖查詢。使用視圖的中間轉換和數據質量檢查,不應該發布到公共數據集。

流表

一個流表是一個三角洲表提供額外的支持流媒體或增量數據處理。流表允許您處理越來越多的數據集,處理每一行隻有一次。因為大多數數據集成長不斷隨著時間的推移,流表是好的對於大多數攝入工作負載。最優流表需要數據新鮮度和低延遲的管道。流表也可以用於大規模轉換,結果可以作為新數據到達時,增量計算使結果保持最新無需完全驗算與每個更新源數據。流表是用於擴展的數據源。

請注意

雖然默認情況下,流表需要擴展的數據源,當流源是另一個流表需要更新或者刪除,您可以覆蓋這個行為的skipChangeCommits國旗

物化視圖

一個物化視圖(或生活表)是一個視圖已預先計算的結果。將刷新物化視圖的更新計劃他們的管道。物化視圖是強大的,因為他們可以處理任何輸入的變化。每次管道更新,重新計算的查詢結果會反映上遊數據集的變化可能發生因為合規,修正,聚合,或者一般的疾控中心。生活表實現物化視圖δ表,但抽象的複雜性與高效應用程序的更新,讓用戶專注於編寫查詢。

的觀點

所有的觀點在磚計算結果從源數據集查詢,利用緩存優化時可用。三角洲生活表並沒有發布視圖目錄,所以觀點可以引用隻在定義它們的管道。視圖是有用,因為中間查詢不應該接觸到最終用戶或係統。磚建議使用視圖執行數據質量約束或變換和豐富的數據集驅動多個下遊查詢。

聲明你的第一個數據集在三角洲住表

三角洲生活表引入了新的Python和SQL的語法。開始與達美住表語法,使用下列教程之一:

請注意

三角洲直播表將數據集定義更新處理,和δ生活表筆記本不是用於交互式執行。看到什麼是三角洲住表管道嗎?

什麼是三角洲住表管道嗎?

一個管道是主要的單元用於配置和運行數據處理工作流與達美住表。

管道包含物化視圖和流表中聲明的Python源文件或SQL。三角洲生活表推斷這些表之間的依賴關係,確保以正確的順序更新發生。對於每個數據集,三角洲生活表比較當前狀態與期望狀態,繼續創建或更新數據集使用有效的處理方法。

δ生活表的設置管道分為兩大類:

  1. 配置定義的集合(稱為筆記本電腦或者文件源代碼),使用三角洲住表語法要申報的數據集。

  2. 控製管道基礎設施配置,如何處理更新,以及表保存在工作區。

大多數配置是可選的,但也有一些需要仔細的關注,特別是當配置生產管道。這些包括以下幾點:

  • 使數據可用在管道外,你必須聲明一個目標模式發布蜂巢metastore或目標目錄目標模式發布統一目錄。

  • 通過集群配置用於數據訪問權限執行。確保您的集群具有適當的權限配置為數據源和目標存儲位置如果指定。

有關使用Python和SQL編寫源代碼管道,明白了三角洲生活表SQL語言參考三角洲生活表Python語言參考

更多管道設置和配置,請參閱δ生活表的配置管道設置

部署您的第一個管道和觸發更新

在處理數據與達美住表之前,您必須配置一個管道。一旦管道配置,您可以觸發一個更新計算管道中的每個數據集的結果。開始使用三角洲住表管道,明白了教程:管道運行第一個三角洲住表

什麼是管道更新?

管道基礎設施部署和驗算數據狀態當你開始一個更新。一個更新如下:

  • 開始與正確的集群配置。

  • 發現所有的表和視圖定義,並檢查等任何分析錯誤無效的列名,失蹤的依賴,和語法錯誤。

  • 創建或更新表和視圖與可用的最新數據。

管道可以連續運行或進度取決於成本和延遲需求的用例。看到在三角洲上運行一個更新生活表管道

攝取數據與達美住表

三角洲生活表支持所有可用數據源數據磚。

磚建議使用流表對大多數攝入的用例。文件到達雲對象存儲,數據磚建議自動加載程序。您可以直接攝取數據與達美住表從大多數消息總線。

關於配置的更多信息訪問雲存儲,明白了雲存儲配置

格式不支持自動加載程序,您可以使用Python或SQL查詢任何格式支持Apache火花。看到數據加載與達美住表

監控和執行數據質量

您可以使用預期指定數據集數據質量控製的內容。與檢查約束在傳統數據庫中禁止添加任何記錄失敗的約束,期望提供靈活性在處理數據失敗數據質量的要求。這種靈活性允許您處理和存儲數據,你希望是混亂和數據必須符合嚴格的質量要求。看到管理數據質量與達美住表

如何創建和管理表三角洲住表嗎

磚自動創建管理表與達美住表,確定更新需要處理如何正確計算表的當前狀態和執行維護和優化任務的數量。

大多數操作,你應該允許三角洲生活表來處理所有更新,插入和刪除目標表。和限製的詳細信息,請參見保留手動刪除或更新

維護任務由三角洲生活表

三角洲生活表執行維護任務在24小時內表的更新。維修可以提高查詢的性能和降低成本通過刪除舊版本的表。默認情況下,係統執行一個完整的優化手術之後,真空。你可以禁用優化表通過設置pipelines.autoOptimize.managed=表屬性為表。執行維護任務隻有如果管道更新運行前的24小時維護任務計劃。

確保維護集群所需的存儲位置訪問,你必須應用安全配置需要訪問存儲位置都默認集群和維護集群。看到配置您的計算設置

限製

以下限製適用:

  • 所有表由生活表δ創建和更新表。

  • 三角洲生活表表隻能定義一次,這意味著他們隻能單個操作的目標在所有三角洲住表管道。

  • 標識列與表不支持的目標應用變化,在物化視圖的更新可能會重新計算。出於這個原因,磚建議隻使用身份與流表在三角洲住表列。看到使用標識列在三角洲湖

額外的資源