? ? ? ? 從接觸數(shù)倉(cāng)就開(kāi)始聽(tīng)說(shuō)ETL,ETL也始終貫傳數(shù)倉(cāng)倉(cāng)庫(kù),問(wèn)大家一個(gè)問(wèn)題,ETL在數(shù)倉(cāng)領(lǐng)域家喻戶曉的原因是因?yàn)樗?jiǎn)單嗎? 答案是:恰恰是因?yàn)槠鋸?fù)雜和重要。
? ? ? ? 那么ETL解決了什么問(wèn)題呢?我們?yōu)槭裁葱枰狤TL?

? ? ? ? 解決的是數(shù)據(jù)孤島的問(wèn)題。
? ? ? ? 我們有了數(shù)據(jù)全局觀,才能真正去做商業(yè)智能(BI)
ETL主要應(yīng)用:
1.數(shù)據(jù)完整性:由于各個(gè)子業(yè)務(wù)系統(tǒng)的收集的信息不完整,比如字段缺失的情況
2.格式不統(tǒng)一:如日期格式
3.錯(cuò)誤數(shù)據(jù):比如由于不小心造出的,比如全角半角問(wèn)題,錯(cuò)誤的數(shù)據(jù)類型
4.重復(fù)數(shù)據(jù):維度表更需要關(guān)注
5.數(shù)據(jù)聚合:有些明細(xì)數(shù)據(jù)不是數(shù)據(jù)倉(cāng)庫(kù)中需要的,一般不會(huì)進(jìn)行聚合操作,一定程度也減少數(shù)量
6.規(guī)則過(guò)濾:由業(yè)務(wù)導(dǎo)致,某些數(shù)據(jù)不需要進(jìn)行提取,那么就要進(jìn)行提取過(guò)濾
7.其他:如url

ETL的周期性和同步方式
ETL往往是一個(gè)持續(xù)的周期性的過(guò)程,不是一次性的工作,所以會(huì)根據(jù)數(shù)據(jù)量的不同周期性(小時(shí)/天/月)的進(jìn)行
1.增量方式:大多數(shù)場(chǎng)景的數(shù)據(jù)提取是增量進(jìn)行的,最常見(jiàn)的是每天提取一次業(yè)務(wù)系統(tǒng)的當(dāng)天數(shù)據(jù)增量。那么增量的提取的業(yè)務(wù)時(shí)間區(qū)間(比如天)就決定了ETL周期性
2.全量方式:這種方式多數(shù)對(duì)某些業(yè)務(wù)系統(tǒng)是文件存儲(chǔ)方式,無(wú)法識(shí)別增量數(shù)據(jù),必須進(jìn)行全量的數(shù)據(jù)提取。這種方式在數(shù)據(jù)量很大的時(shí)候,ETL的周期會(huì)越來(lái)越長(zhǎng)。
3.實(shí)時(shí)同步:某些數(shù)據(jù)源比如數(shù)據(jù)庫(kù)是可以支持觸發(fā)器機(jī)制,比如insert/update/delete的觸發(fā)器。
ETL的架構(gòu):

lambda架構(gòu):

kappa架構(gòu)(適用于周期的,數(shù)據(jù)量小):

Flink實(shí)時(shí)ETL:

最后談一下數(shù)據(jù)倉(cāng)庫(kù)的發(fā)展歷程

本質(zhì)上是元數(shù)據(jù)的開(kāi)放程度不同
以上