??????? ETL(Extract-Transform-Load,即抽取,轉換,加載),數據倉庫技術,是用來處理將數據從來源(以前做的項目)經過抽取,轉換,加載到達目的端(正在做的項目)的過程。也就是新的項目需要使用以前項目數據庫中的數據,ETL就是解決這個問題的。
??????? ETL實現共同注意點:正確性,完整性,一致性,完備性,有效性,時效性,可獲取性等,也就是說無論我們使用什么工具,來實現ETL技術時,達到這幾個方面,才算是質量過關的。
??????? kettle則是其中的一種工具,其它還有:Informatica,Datastage,OWB,微軟的DTS等等。好,下邊簡單說說kettle。
??????? kettle是一款國外開源的ETL工具,純Java編寫,可以在Windows,Linux,Unix上運行,數據抽取高效穩定。kettle中文名俗稱“水壺”,開發目的是將各種數據放到一個壺中,然后經過各種處理加工,以特定的格式流出。
??????? kettle轉換的設計包括幾個方面:資源庫,數據庫連接,作業(job),轉換(trans),步驟(step)。形象的舉一個例子:資源庫相當于我們一個Java項目,數據庫連接相當于我們Java項目中的連接數據庫,Job相當于Java項目中的一條線,而Trans相當于Java中的一個個類,Step則是類中的方法。所以,kettle需要我們做的就是建好資源庫,連接好數據庫,建立轉換,寫好類中的每個步驟,將轉換連接起來組成任務(轉換也可以獨立執行)。
??????? 最后看一下什么時候適合使用kettle。這樣一個項目A,這個項目A需要實施到很多家企業,而項目A需要用到每家企業的數據庫基礎數據,例如員工,組織結構,客戶,供應商等等一些基礎數據,這時候kettle就可以很輕松的完成任務。也就是說,我們的項目需要用到大量的數據庫之間遷移數據。
摘錄自:http://blog.csdn.net/liujiahan629629/article/details/47061727