對(duì)我單位網(wǎng)站進(jìn)行改版百度seo排名優(yōu)
本文屬于【Azure 架構(gòu)師學(xué)習(xí)筆記】系列。
本文屬于【Azure Databricks】系列。
接上文 【Azure 架構(gòu)師學(xué)習(xí)筆記】- Azure Databricks (16) – Delta Lake 和 ADLS整合
前言
前面介紹了Delta Table,但是Databricks又推出了“Delta Live Tables(DLTs)”這兩者名字太像了以至于很容易混淆。
Delta Table是一個(gè)存儲(chǔ)數(shù)據(jù)到表里面的方式。而DLTs可以用于通過聲明式定義來描述在這些表之間的數(shù)據(jù)流。
也就是說DLTs是一個(gè)通過創(chuàng)建和保持?jǐn)?shù)據(jù)更新用于管理很多delta table的聲明式框架。
Delta Table:數(shù)據(jù)格式。
Delta Live Tables:數(shù)據(jù)管道框架(data pipeline framework)
DLTs的好處
Pipeline 可視化
DLTs 使用有向無環(huán)圖戰(zhàn)士所有數(shù)據(jù)PL(pipeline)的負(fù)載,對(duì)于非常復(fù)雜的PL而言非常有用。同時(shí)還可以看到數(shù)據(jù)是如何從bronze流到最終的gold層。在UC里面也可以通過data lineage(數(shù)據(jù)學(xué)院)來實(shí)現(xiàn),但是對(duì)于那些還沒有啟用UC 的項(xiàng)目而言這是一個(gè)替代方案。
CDC 和性能優(yōu)化
當(dāng)你的PL 有大量的增刪改操作時(shí),CDC能夠非常明顯地提升速度,特別是對(duì)于SCD Type1 到Type2,也就是在lakehouse中,可以保留數(shù)據(jù)的歷史。同時(shí)通過默認(rèn)的delta 格式自動(dòng)壓縮從而極大地提高性能。這種自動(dòng)壓縮式通過把小文件合并來減少parquet對(duì)小文件處理性能差的問題。
易用
由于圖形化界面使得debug的時(shí)候相比于使用Python等語言更加容易實(shí)現(xiàn)。
ACID
DTLs搭建在Delta table之上,使用Delta格式,前文已經(jīng)提及過,Delta table具有ACID特性能夠保證數(shù)據(jù)的一致性和數(shù)據(jù)質(zhì)量。所以DLT自然也具有ACID 。
DLTs的注意事項(xiàng)
這里稱為注意事項(xiàng)而不是缺點(diǎn),因?yàn)橐苍S它們并不是真正的不好的東西,而是需要評(píng)估是否有問題,或者只是一種當(dāng)前的技術(shù)限制。
- 數(shù)據(jù)體量:雖然lakehouse可以處理大體量的數(shù)據(jù),但是集群一旦要處理很大量的數(shù)據(jù),對(duì)單個(gè)集群來說是一個(gè)負(fù)擔(dān),哪怕你的集群不停增加節(jié)點(diǎn), 成本也會(huì)很高。(建議:對(duì)數(shù)據(jù)源進(jìn)行預(yù)處理,如分區(qū),拆分批處理,使得每個(gè)批處理相對(duì)較小)
- 外部系統(tǒng)的集成: DLT的設(shè)計(jì)中間在于批處理數(shù)據(jù)集成,對(duì)于流式計(jì)算通常需要額外的基礎(chǔ)架構(gòu)如Kafka等。
- 版本控制和回滾:雖然Delta有time travl能力,但是真要回滾的時(shí)候,從狀態(tài)管理和部分回滾方面,都并不是簡(jiǎn)單的事。
DLTs和Delta Tables 對(duì)比
小結(jié)
簡(jiǎn)單來說,DLT不是簡(jiǎn)單的“table”,而是一個(gè)ETL 過程。接下來的幾篇將會(huì)演示一些使用。