標籤:
ETL是什嗎?為什麼要使用ETL?KETTLE是什嗎?為什麼要學KETTLE?
ETL是資料的抽取清洗轉換載入的過程,是資料進入資料倉儲進行大資料分析的載入過程,目前流行的資料進入倉庫的過程有兩種形式,一種是進入資料庫後再進行清洗和轉換,另外一條路線是首先進行清洗轉換再進入資料庫,我們的ETL屬於後者。大資料的利器大家可能普遍說是hadoop,但是大家要知道如果我們不做預先的清洗和轉換處理,我們進入hadoop後僅通過mapreduce進行資料清洗轉換再進行分析,垃圾資料會導致我們的磁碟佔用量會相當大,這樣無形中提升了我們的硬體成本(硬碟大,記憶體小處理速度會很慢,記憶體大cpu效能低速度也會受影響),因此雖然hadoop理論上解決了爛機器拼起來解決大問題的問題,但是事實上如果我們有更好的節點速度必然是會普遍提升的,因此ETL在大資料環境下仍然是必不可少的資料交換工具。市場上流行的ETL很多,比如informatica等,但是開源的比較完善的卻不是很多,而其中比較有名的要說是pentaho開源的kettle了,該工具被廣泛用,並且開源的產品我們從中不僅可以學到ETL的簡單應用,並且可以學習到ETL的原理以及通過源碼學到更多的東西。 亮點一:KETTLE應用廣泛,僅僅學會使用就可以找到一份不錯的工作。 亮點二:本課程不僅講解簡單實用,同時講解二次開發並且配有開發模板,提升工作品質。 亮點三:滲透了大資料的一些處理方法,與目前流行的hadoop配合使用。 亮點四:分析KETTLE源碼,即使對ETL興趣不大,至少可以瞭解國外開源項目的一些源碼,並且KETTLE本身也使用了很多開源項目,因此可以從該工具上學到更多東西。
通過課程可以學到什麼: 1.ETL過程原理 2.資料流程引擎的原理 3.中繼資料和資料進行動態資料交換的設計 4.並發運算的原理
課時安排:(15課時) 1.ETL簡介—開源KETTLE(1課時) >介紹KETTLE在大資料應用的位置和作用。>主要講解ETL是什麼,KETTLE進行簡單介紹,並且使用例子進行KETTLE的使用介紹。>介紹KETTLE流程的部署。 2.KETTLE使用(1課時) >詳細介紹KETTLE的spoon使用>KETTLE的trans和job入門>KETTLE的日誌和調試工具使用 3. KETTLE之Step流程設計(3課時) >編寫例子介紹KETTLE常用的轉換、清洗組件>主要完成以下外掛程式:輸入外掛程式:文字檔輸入、產生記錄、表輸入、Fixed file input、Get data from XML輸出外掛程式:XML輸出、刪除、插入/更新、文字檔輸出、更新、表輸出轉換外掛程式:Add a checksum、Replace in string、Set field value、Unique rows(HashSet)、增加常量、增加序列、欄位選擇、拆分欄位Flow外掛程式:Abort、Switch/case、空操作、過濾記錄指令碼外掛程式:Modified Java Script Value、執行SQL指令碼查詢外掛程式:File exists、Table exists、調用DB預存程序 4. KETTLE之Job流程設計(2課時) >編寫例子介紹KETTLE常用的工作群組件>主要完成以下外掛程式:通用外掛程式:START、DUMMY、Transformation、Success檔案管理外掛程式:Copy Files、Compare folders、Create a folder、Create file、Delete files、Delete folders、File Compare、Move Files、Wait for file、Zip file、Unzip file條件外掛程式:Check Db connections、Check files locked、Check if a folder is empty、Check if files exist、File Exists、Table exists、Wait for指令碼外掛程式:Shell、SQLUtility外掛程式:Ping a host、Truncate tables檔案傳輸外掛程式:Upload files to FTPS、Get a file with FTPS、FTP Delete>Kettle與Hadoop的聯合使用 5. KETTLE之流程效能調優與監控(1課時) >介紹KETTLE的流程監控功能>介紹KETTLE的效能最佳化方法 6. KETTLE之嵌入開發(1課時) >編寫程式介紹KETTLE的流程如何嵌入到我們的java應用中主要包括java嵌入trans以及job流程 7. KETTLE之自訂Step、Job外掛程式製作(3課時) >編寫Step和Job模板,並給大家作為二次開發的基礎工程使用,提高大家的開發效率。>編寫程式說明Step和Job外掛程式的開發方法。 8. KETTLE之資料同步方案(1課時) >介紹5種資料同步方案,並且這5種方案都是支援異構資料同步的。包括全量快速同步方案和增量同步處理方案 9. KETTLE之分區、叢集以及原理(1課時) >介紹KETTLE的分區原理,並且講解配置使用。>介紹KETTLE的叢集原理,並且講解配置使用,以及監控方法。 10. KETTLE之源碼分析與二次開發(1課時) >介紹KETTLE的SRC匯入ECLIPSE方法,以及打包和運行方法。>分析KETTLE的包結構以及運行流程,講解KETTLE的運行原理。
資料層交換和高效能並發處理(開源ETL大資料治理工具--KETTLE使用及二次開發 )