時(shí)間:2019-08-20 17:34:08 作者:Dorise 瀏覽量:96
人們的生活水平逐漸提高,物質(zhì)生活得到滿足的同時(shí),精神需求進(jìn)而隨之增加,電腦已經(jīng)成為我們生活中和工作中不可缺少的一部分,電腦是由一些軟件、系統(tǒng)、程序等組成,那么我們?nèi)绻胍獙﹄娔X更好的使用,我們必須對這些有所了解,下面小編就帶領(lǐng)大家一起來學(xué)習(xí)如何用Kettle開源ETL工具?
Kettle是一個(gè)Java編寫的ETL工具,從4.2版本開始遵守Apache Licence 2.0協(xié)議,最新穩(wěn)定版為7.1。。Kettle在2006年初加入了開源的BI公司Pentaho,正式命名為:Pentaho Data Integeration,簡稱“PDI”。自
選用Kettle開源ETL工具教程圖1
因?yàn)镋TL屬于偏底層的數(shù)據(jù)基礎(chǔ)性工作,國內(nèi)的項(xiàng)目甲方用戶往往并不太懂這方面的具體需求和技術(shù)要求,因而也不太關(guān)注項(xiàng)目開發(fā)服務(wù)商使用了什么底層產(chǎn)品,對于這類數(shù)據(jù)產(chǎn)品在功能性、易用性、交換性能、數(shù)據(jù)實(shí)時(shí)性(最小延遲)、可靠穩(wěn)定性、可運(yùn)維管理性等方面缺乏具體的指標(biāo)要求,通常不會要求通過嚴(yán)格的POC測試選型,再加上Kettle基礎(chǔ)版是開源免費(fèi)的,因此許多集成商/開發(fā)商在項(xiàng)目中為了想節(jié)省成本而盲目使用,結(jié)果往往是適得其反,造成了前期投入了相當(dāng)大的開發(fā)人力成本及后期高昂的運(yùn)維成本而達(dá)不到預(yù)期效果,騎虎難下。根據(jù)筆者二十多年的項(xiàng)目實(shí)施經(jīng)驗(yàn)及大數(shù)據(jù)領(lǐng)域所面臨的新要求,總結(jié)了選用kettle應(yīng)注意的問題:
選用Kettle開源ETL工具教程圖2
Kettle不支持實(shí)時(shí)數(shù)據(jù)同步場景。盡管kettle可以使用trigger方式獲取表級的增量數(shù)據(jù),但源端的應(yīng)用系統(tǒng)方一般不會同意使用這種侵入性很強(qiáng)的方式,而且trigger方式無法保證事務(wù)復(fù)制的完整性和時(shí)間次序性。
Kettle交換性能往往達(dá)不到要求。由于kettle采用了二十多年前老舊的Java調(diào)用技術(shù),在任務(wù)多、數(shù)據(jù)量大的場景下,往往消枆過大的計(jì)算資源,交換性能急劇下降,造成系統(tǒng)阻塞的狀況出現(xiàn)。
Kettle對斷點(diǎn)信息沒有記錄和保存,無法保證斷點(diǎn)續(xù)傳及數(shù)據(jù)不丟失等可靠性要求。
Kettle的ETL 處理流程與目標(biāo)輸出耦合性強(qiáng),新的數(shù)據(jù)要求往往會造成處理流程的重新設(shè)計(jì),靈活性差,導(dǎo)致時(shí)間周期和成本不斷增加。新出現(xiàn)的ELT(把T-處理放在了末端數(shù)倉中處理)技術(shù)架構(gòu)和方案,將抽取、加載過程與轉(zhuǎn)換過程分開,并將所有需要的全量和實(shí)時(shí)增量數(shù)據(jù)快速加載至數(shù)倉,意味著在數(shù)倉結(jié)構(gòu)設(shè)計(jì)中更具有靈活性來考慮新的變化需求,有利于項(xiàng)目的運(yùn)維和管理,將項(xiàng)目的風(fēng)險(xiǎn)最小化。
選用Kettle開源ETL工具教程圖3
日益增加的異構(gòu)數(shù)據(jù)源環(huán)境,包括各種關(guān)系型數(shù)據(jù)庫、結(jié)構(gòu)化及非結(jié)構(gòu)化數(shù)據(jù)、以及NoSQL、MPP數(shù)據(jù)庫/倉庫和大數(shù)據(jù)平臺Hadoop/Kafka的應(yīng)用環(huán)境,Kettle缺乏對新數(shù)據(jù)源的有效支持能力。
免費(fèi)版的Kettle缺乏必要的數(shù)據(jù)異常處理和監(jiān)控運(yùn)維等管理功能服務(wù),項(xiàng)目開發(fā)商/服務(wù)商在項(xiàng)目成本及時(shí)間的約束下,難于滿足這類管理功能需求,造成后續(xù)系統(tǒng)運(yùn)維質(zhì)量及用戶滿意度的下降。
在企業(yè)私有云和混合云的計(jì)算環(huán)境下,Kettle等傳統(tǒng)產(chǎn)品的C/S架構(gòu)難于滿足構(gòu)建云與邊緣端的數(shù)據(jù)交換,并支持遠(yuǎn)程多用戶共享使用的要求。