如何簡化疾控中心與三角洲湖的改變數據提要
2021年6月9日 在工程的博客
在磚試試這個筆記本
變化數據捕獲(CDC)是一個用例,我們看到許多客戶實現在磚-你可以查看我們之前的話題beplay体育app下载地址上深潛水在這裏。通常我們看到的疾病預防控製中心用於分析架構稱為的攝入大獎章架構。圖案結構,原始數據從源係統和改進了數據通過青銅,白銀和黃金表。疾病預防控製中心和圖案架構為用戶提供許多好處,因為隻有更改或添加數據需要處理。此外,不同表的架構允許不同的角色,比如數據科學家和BI分析人士,為他們的需要使用正確的最新數據。我們很高興地宣布了令人興奮的新改變數據提要(CDF)特性在三角洲湖使得這個體係結構容易實現和合並操作日誌三角洲湖可能的版本!
得到的早期預覽O ' reilly的新電子書一步一步的指導你需要開始使用三角洲湖。
為什麼需要提供功能?
許多客戶使beplay体育app下载地址用磚執行中心,因為它更容易實現與三角洲湖比其他大數據的技術。然而,即使有了正確的工具,美國疾病控製和預防中心執行仍然可以是一個挑戰。我們設計CDF使編程更加簡單和地址的最大痛點在疾控中心,包括:
- 質量控製——行級版本之間的變化是很難達到。
- 效率低下不變——它可以低效占行自當前版本更改的文件而不是行級。
這是改變數據提要(CDF)實現如何幫助解決上述問題:
- 簡單和方便——使用一個共同的、易於使用的模式識別變化,使您的代碼簡單,方便和容易理解。
- 效率——能力隻有行版本之間發生了變化,使得下遊消費合並,更新和刪除操作極其有效。
提供了改變隻有從三角洲表隻有前瞻性一旦啟用。
改變數據提要在行動!
讓我們深入一個例子提供一個常見的用例:財務預測。筆記本引用這個博客的頂部吸入財務數據。估計每股收益(EPS)是金融數據分析師預測公司的季度每股收益。原始數據可以從許多不同的來源和來自多個多隻股票分析師。
CDF實驗組的特性,數據隻是插入銅表(原始攝入),然後過濾、清洗和增強銀表,最後,金總值計算表的基礎上改變了銀表中的數據。
雖然這些轉換可以複雜,值得慶幸的是,現在的基於行的CDF實驗組的特點是簡單、高效。但你如何使用它呢?讓我們挖!
注:例子著重於提供的SQL版本和一個特定的方式使用操作,評估變化,請參閱文檔在這裏
使CDF實驗組的三角洲湖表
提供功能可以在一個表,你必須首先說桌子上啟用這個特性。下麵是一個例子使提供的青銅在表創建表。你還可以啟用CDF實驗組的表作為更新表。此外,您可以啟用CDF集群上的所有表創建的集群。對於這些變化,請參閱文檔在這裏。
查詢更改數據
要查詢的變化數據,使用table_changes操作。下麵的例子包括插入的行和兩行,代表一個更新的預處理和post-image行,這樣我們可以評估的差異變化。還有一個刪除改變類型返回刪除行。
這個例子中訪問基於更改的記錄版本開始,但是你也可以根據限製版本終結版,以及開始和結束時間戳如果需要的話。這個例子著重於SQL,但也有方法來訪問這個數據在Python中,Scala中,Java和r .對於這些變化,請參閱文檔在這裏。
在MERGE語句中使用CDF實驗組的行數據
聚合MERGE語句,如合並成黃金表,可以通過自然複雜,但提供的編碼特性使得這些語句更簡單和更有效率。
在上麵的圖中可以看到,它使它簡單獲得哪些行已經改變了,因為它隻執行所需的聚合的數據已經改變或新使用table_changes操作。下麵,你可以看到如何使用更改後的數據,以確定哪些日期和股票代碼已經改變了。
如下所示,您可以使用數據從銀表改為總隻行上的數據需要更新或插入到黃金表。要做到這一點,使用內連接在table_changes ('table_name”、“版本”)
最終的結果是一個明確而簡潔的版本的黃金表可以增量隨時間變化!
典型用例
下麵是一些常見的用例和福利提供的新功能:
銀和金的表
提高三角洲性能通過處理隻改變初始合並後比較加速和簡化ETL /英語教學操作。
物化視圖
創建最新的聚合視圖的信息用於BI和分析,而無需再加工完整的底層表,而不是隻在更新變化。
傳輸變化
發送改變數據提要下遊係統如卡夫卡或RDBMS,可以使用它來逐步過程後期的數據管道。
審計跟蹤表
捕獲變更數據提要輸出作為三角洲表提供永久存儲和高效的查詢功能查看所有變化隨著時間的推移,包括刪除發生時和更新。
何時使用更改數據提要
結論
在磚,我們努力把不可能變為可能,很難簡單。疾病預防控製中心、日誌版本控製和合並實現幾乎不可能在規模直到三角洲湖創建。現在我們使它更簡單、更有效率和令人興奮的改變數據提要(CDF)功能!