教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

Kettle的設(shè)計(jì)原則

更新時(shí)間:2021年06月04日14時(shí)23分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

每個(gè)ETL工具都會(huì)有自己的設(shè)計(jì)原則,Kettle也不例外。Kettle的設(shè)計(jì)原則一共有7點(diǎn),具體內(nèi)容如下。


1.易于開(kāi)發(fā)

作為數(shù)據(jù)倉(cāng)庫(kù)和ETL的開(kāi)發(fā)者,如果只想把時(shí)間用在創(chuàng)建BI解決方案上,那么任何用于軟件安裝和配置的時(shí)間都是一-種浪費(fèi)。例如,為了創(chuàng)建數(shù)據(jù)庫(kù)連接,很多與Kettle類(lèi)似的工具都要求用戶(hù)手工輸入數(shù)據(jù)庫(kù)驅(qū)動(dòng)的類(lèi)名和JDBCURL連接串,雖然用戶(hù)可以通過(guò)互聯(lián)網(wǎng)搜索到這些信息,但這明顯把用戶(hù)的注意力轉(zhuǎn)移到了技術(shù)方面,并非業(yè)務(wù)方面,而Kettle就是盡量避免這類(lèi)問(wèn)題出現(xiàn)。


2.避免自定義開(kāi)發(fā)

一般來(lái)說(shuō),ETL工具的作用是使復(fù)雜的事情變得簡(jiǎn)單,簡(jiǎn)單的事情更簡(jiǎn)單。ETL提供了標(biāo)準(zhǔn)化的構(gòu)建組件滿(mǎn)足ETL開(kāi)發(fā)人員不斷重復(fù)的需求,通過(guò)手工編寫(xiě)Java代碼或Java腳本代碼實(shí)現(xiàn)一些功能,但是增加的代碼會(huì)給項(xiàng)目增加復(fù)雜度和維護(hù)成本,因此要盡量避免手工開(kāi)發(fā),可組合使用已提供的組件完成任務(wù)。


3.所有功能都能通過(guò)用戶(hù)界面完成

對(duì)于“所有功能都能通過(guò)用戶(hù)界面完成”這一黃金準(zhǔn)則也有幾個(gè)例外(如kettle.properties和shared.xmr文件就是兩個(gè)例外,不能通過(guò)Kettle界面修改這兩個(gè)配置文件,而是需要通過(guò)手工修改),如果不直接把所有功能通過(guò)界面的方式提供給用戶(hù),那么就是在浪費(fèi)開(kāi)發(fā)人員的時(shí)間,也是在浪費(fèi)用戶(hù)的時(shí)間。


4.沒(méi)有命名限制

ETL轉(zhuǎn)換里有各種各樣的名稱(chēng),如數(shù)據(jù)庫(kù)連接、轉(zhuǎn)換、步驟、數(shù)據(jù)字段、作業(yè)等都有一個(gè)名稱(chēng)。若在命名時(shí)考慮到一-些限制(如長(zhǎng)度、選擇的字符),就會(huì)使工作變得煩瑣。ETL只需要足夠智能化的處理ETL開(kāi)發(fā)人員設(shè)置的各種名稱(chēng)。


5.透明

如果有ETL工具需要了解轉(zhuǎn)換中某一部分工作是如何完成的,那么這個(gè)ETL工具就是不透明的。若想實(shí)現(xiàn)ETL工具里的某一個(gè)功能,就需要準(zhǔn)確地知道這個(gè)功能是如何完成的。允許用戶(hù)看到ETL過(guò)程中各部分的運(yùn)行狀態(tài)也很重要,這樣可以加快開(kāi)發(fā)速度,降低維護(hù)成本。


6.靈活的數(shù)據(jù)通道

對(duì)ETL開(kāi)發(fā)者來(lái)說(shuō),創(chuàng)造性極為重要,不但可以讓你享受到工作的樂(lè)趣,而且還能讓的以最快的方式開(kāi)發(fā)出ETL方案。Kettle在數(shù)據(jù)的發(fā)送、接收方式上設(shè)計(jì)得盡可能靈的。Kettle可以在文本文件、關(guān)系數(shù)據(jù)庫(kù)等不同數(shù)據(jù)源之間復(fù)制和分發(fā)數(shù)據(jù)。


7.只映射需要映射的字段

在一些ETL工具里可以看到數(shù)百行的輸入和輸出映射,對(duì)于維護(hù)人員來(lái)說(shuō),這是一個(gè)很強(qiáng)大的功能。在ETL開(kāi)發(fā)過(guò)程中,字段在不斷地變化,大量的字段映射也會(huì)增加維護(hù)的成本,而Kettle的一個(gè)核心原則是將ETL流程中所有未指定的字段自動(dòng)傳遞到下一個(gè)組件中,因此極大地降低了維護(hù)的成本。也就是說(shuō),輸人的字段會(huì)自動(dòng)出現(xiàn)在輸出流中,除非中間過(guò)程專(zhuān)門(mén)設(shè)置了終止某個(gè)字段的傳遞。



猜你喜歡:

數(shù)據(jù)倉(cāng)庫(kù)的結(jié)構(gòu)詳細(xì)介紹

Spark SQL架構(gòu)的工作原理和工作流程是什么?

大數(shù)據(jù)Hadoop生態(tài)圈包含哪些子系統(tǒng)?

傳智教育高級(jí)python+大數(shù)據(jù)培訓(xùn)課程

0 分享到:
和我們?cè)诰€交談!