課程簡(jiǎn)介:
有人統(tǒng)計(jì)過,在整個(gè)數(shù)據(jù)分析過程里,收集、整理數(shù)據(jù)的工作大致占全部工作量的90%,建模過程不足10%,可見ETL是數(shù)據(jù)處理流程中一個(gè)非常重要的環(huán)節(jié)。ETL工程師,在數(shù)據(jù)倉(cāng)庫(kù)類職位中占有很大比例,而且薪水都不差。IT人一下子轉(zhuǎn)型數(shù)據(jù)分析師可能跳躍度比較大難度高,先轉(zhuǎn)型數(shù)據(jù)倉(cāng)庫(kù)/ETL工程師再擇機(jī)往更高處走是合理選擇之一。在ETL軟件中,使用最多的是開源的Kettle,完全免費(fèi),功能和性能不弱于datastage這類商業(yè)ETL軟件,使用Kettle和其它開源數(shù)據(jù)平臺(tái)軟件,例如Mysql集群,Hadoop集群等組合在一起,是性價(jià)比極高的架構(gòu)選擇。本課程系統(tǒng)講解Kettle及其秘密。
課程介紹:
ETL (Extract,Transformation,Load)工具是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)、進(jìn)行數(shù)據(jù)整合工作所必須使用的工具。目前市面有多種商業(yè) ETL 工具,如Informatica,Datastage等。目前市場(chǎng)上開源且實(shí)用的 ETL 工具比較少,Kettle 就是這不多的開源 ETL 工具之一。 本課程將主要講解開源 ETL 工具 Kettle 的基本使用和二次開發(fā)方法,并結(jié)合實(shí)際項(xiàng)目案例,講解 Kettle 如何在實(shí)際中應(yīng)用,以及應(yīng)用中可能會(huì)出現(xiàn)的問題。針對(duì)目前大數(shù)據(jù)的應(yīng)用情況,本課程也將結(jié)合大數(shù)據(jù),講述 Kettle 如何支持 Hadoop、HBase、MongoDB、MapReduce 等大數(shù)據(jù)技術(shù)。除了Kettle 的使用,在本課程的后幾個(gè)課時(shí),將講述 Kettle 的二次開發(fā): 包括 Kettle 代碼閱讀指導(dǎo), Kettle API 的說明以及使用方法, Kettle 插件的開發(fā)方法。
課程內(nèi)容:
第一周:ETL 的概念,Kettle 的概念、功能、操作
第二周:Kettle 資源庫(kù)、日志、運(yùn)行方式
第三周:輸入步驟(表輸入、文本文件輸入、XML 文件輸入…)
第四周:輸出步驟(表輸出、更新、刪除、文本文件輸出、XML文件輸出…)
第五周:轉(zhuǎn)換步驟(過濾、字符串處理、拆分字段、計(jì)算器…)
第六周:轉(zhuǎn)換步驟(字段選擇、排序、增加校驗(yàn)列、去除重復(fù)記錄…)
第七周:應(yīng)用步驟、流程步驟(處理文件、執(zhí)行程序、發(fā)送郵件、空操作、阻塞步驟、中止等…)
第八周:查詢步驟、連接步驟(數(shù)據(jù)庫(kù)查詢、流查詢、合并記錄、記錄集連接、笛卡爾…)
第九周:腳本步驟(JAVAscript,Java Class、正則表達(dá)式…)
第十周:作業(yè)項(xiàng)(拷貝、移動(dòng)、ftp、sftp…)
第十一周:Kettle 的參數(shù)和變量、Kettle 集群
第十二周:Kettle 代碼編譯、代碼結(jié)構(gòu)、應(yīng)用集成、各種配置文件
第十三周:插件開發(fā) – 步驟、作業(yè)項(xiàng)
第十四周:作業(yè)設(shè)計(jì)技巧、錯(cuò)誤處理、調(diào)試轉(zhuǎn)換、循環(huán)和分支
第十五周:大數(shù)據(jù)插件(Hadoop 文件輸入/輸出,HBase輸入/輸出,MapReduce輸入/輸出,MongoDB輸入/輸出)
目標(biāo)人群:
1. ETL 工程師,Java 開發(fā)工程師,
2. 經(jīng)常要做數(shù)據(jù)處理的 DBA
3. 有一定數(shù)據(jù)庫(kù)基礎(chǔ) 和 Java 基礎(chǔ)的學(xué)生。
課程預(yù)期目標(biāo):
1. 理解 Kettle 軟件的基本功能。
2. 能使用 Kettle 完成基本的數(shù)據(jù)處理工作。
3. 了解 Kettle 軟件的一些高級(jí)功能
4. 對(duì)有Java 開發(fā)經(jīng)驗(yàn)的同學(xué),對(duì) Kettle 代碼結(jié)構(gòu)有一定了解,能開發(fā)一些 Java 的基本插件