數據層交換和高性能并發處理(開源ETL大數據治理工具--KETTLE使用及二次開發 )

數據層交換和高性能并發處理(開源ETL大數據治理工具--KETTLE使用及二次開發 )_北風網 http://www.ibeifeng.com/goods-313.html

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的日志和調試工具使用

  1. 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存儲過程

  1. 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、SQL
Utility插件:
Ping a host、Truncate tables
文件傳輸插件:
Upload files to FTPS、Get a file with FTPS、FTP Delete
Kettle與Hadoop的聯合使用

  1. KETTLE之流程性能調優與監控(1課時)

介紹KETTLE的流程監控功能
介紹KETTLE的性能優化方法

  1. KETTLE之嵌入開發(1課時)

編寫程序介紹KETTLE的流程如何嵌入到我們的java應用中
主要包括java嵌入trans以及job流程

  1. KETTLE之自定義Step、Job插件制作(3課時)

編寫Step和Job模板,并給大家作為二次開發的基礎工程使用,提高大家的開發效率。
編寫程序說明Step和Job插件的開發方法。

  1. KETTLE之數據同步方案(1課時)

介紹5種數據同步方案,并且這5種方案都是支持異構數據同步的。
包括全量快速同步方案和增量同步方案

  1. KETTLE之分區、集群以及原理(1課時)

介紹KETTLE的分區原理,并且講解配置使用。
介紹KETTLE的集群原理,并且講解配置使用,以及監控方法。

  1. KETTLE之源碼分析與二次開發(1課時)

介紹KETTLE的SRC導入ECLIPSE方法,以及打包和運行方法。
分析KETTLE的包結構以及運行流程,講解KETTLE的運行原理。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容