ETL(Extraction-Transformation-Loading)數(shù)據(jù)抽取、轉(zhuǎn)換和加載。
ETL軟件開發(fā)工程師簡稱ETL工程師,是從事系統(tǒng)編程、數(shù)據(jù)庫編程與設(shè)計,要掌握各種常用的編程語言的專業(yè)技術(shù)人員。也叫數(shù)據(jù)庫工程師。
ETL負(fù)責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時中間層后進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市中,成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。
ETL是數(shù)據(jù)倉庫中的非常重要的一環(huán)。它是承前啟后的必要的一步。相對于關(guān)系數(shù)據(jù)庫,數(shù)據(jù)倉庫技術(shù)沒有嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),它更面向?qū)嶋H工程應(yīng)用。所以從工程應(yīng)用的角度來考慮,按著物理數(shù)據(jù)模型的要求加載數(shù)據(jù)并對數(shù)據(jù)進(jìn)行一些系列處理,處理過程與經(jīng)驗直接相關(guān),同時這部分的工作直接關(guān)系數(shù)據(jù)倉庫中數(shù)據(jù)的質(zhì)量,從而影響到聯(lián)機(jī)分析處理和數(shù)據(jù)挖掘的結(jié)果的質(zhì)量。
數(shù)據(jù)倉庫是一個獨立的數(shù)據(jù)環(huán)境,需要通過抽取過程將數(shù)據(jù)從聯(lián)機(jī)事務(wù)處理環(huán)境、外部數(shù)據(jù)源和脫機(jī)的數(shù)據(jù)存儲介質(zhì)導(dǎo)入到數(shù)據(jù)倉庫中;
在技術(shù)上,ETL主要涉及到關(guān)聯(lián)、轉(zhuǎn)換、增量、調(diào)度和監(jiān)控等幾個方面;數(shù)據(jù)倉庫系統(tǒng)中數(shù)據(jù)不要求與聯(lián)機(jī)事務(wù)處理系統(tǒng)中數(shù)據(jù)實時同步,所以ETL可以定時進(jìn)行。但多個ETL的操作時間、順序和成敗對數(shù)據(jù)倉庫中信息的有效性至關(guān)重要。
ETL工程師崗位職責(zé):
1. 海量數(shù)據(jù)的ETL開發(fā),抽取成各種數(shù)據(jù)需求。
2. 參與數(shù)據(jù)倉庫架構(gòu)的設(shè)計及開發(fā) 。
3. 參與數(shù)據(jù)倉庫ETL流程優(yōu)化及解決ETL相關(guān)技術(shù)問題。
4、熟悉主流數(shù)據(jù)庫技術(shù),如oracle、db2、Sql server等。
5、精通ETL架構(gòu),有一定的etl開發(fā)經(jīng)驗,了解日常作業(yè)的部署和調(diào)度。
6、熟悉ETL開發(fā)工具,如Datastage,Congos,Kettle等。
ETL工程師發(fā)展方向:
ETL工程師,涉及到的領(lǐng)域廣泛,就業(yè)范圍廣泛,例如各種大型公司的開發(fā)部,研發(fā)部,科技部等等,其中BI工程師作為ETL工程師分支中的佼佼者。BI工程師包含了數(shù)據(jù)倉庫工程師的工作,數(shù)據(jù)倉庫工程師在建立數(shù)據(jù)倉庫的工作時又得干ETL的工作;
換句話說:BI是整個商業(yè)智能的大概念,而商業(yè)智能的支撐正是數(shù)據(jù)倉庫,數(shù)據(jù)倉庫的建立靠的是ETL。
ETL工程師就業(yè)去向:
1.數(shù)據(jù)庫工程師:作為任何軟件項目開發(fā)不可或缺的人才,現(xiàn)實生活中我們所有能看到的計算機(jī)界面,都需要后臺數(shù)據(jù)的處理存儲,這就是數(shù)據(jù)庫工程師的工作,比如:銀行、網(wǎng)購平臺、游戲、醫(yī)療、保險、養(yǎng)老、酒店、學(xué)校、政府等等的機(jī)構(gòu),他們的后臺數(shù)據(jù)需要有存儲的數(shù)據(jù)庫,這些就用到了數(shù)據(jù)庫工程師。
數(shù)據(jù)庫工程師的工作是新時代的鐵飯碗,為什么這么說?只要銀行還想有人去存貸款,網(wǎng)購平臺還想繼續(xù)網(wǎng)絡(luò)交易,醫(yī)療機(jī)構(gòu)還需要刷卡,保險行業(yè)還需要記錄客戶信息,養(yǎng)老保險還需要繳納記錄,集聚點還需要客人提供自己的身份信息,學(xué)校還需要學(xué)生的信息存檔,政府機(jī)構(gòu)還需要各種文件的保密等等,都需要有數(shù)據(jù)庫工程師,給他們處理后臺的信息更新加載和存儲及保密等一系列處理。
2.銀行:銀行的職位每年都會是一些名牌大學(xué)的熱點,曾有多少名牌大學(xué)的學(xué)生為了區(qū)區(qū)一個銀行柜臺的職位各種競爭,最后卻不得進(jìn)入,BI工程師是銀行必爭的人才。
3.咨詢顧問:一些開發(fā)經(jīng)驗比較豐富的ETL工程師,不再從事開發(fā)工作,對公司的產(chǎn)品比較了解,作為公司對外的窗口般存在,一般三年左右的開發(fā)經(jīng)驗可以作為公司的中級咨詢顧問,五年左右的可以做到高級咨詢顧問。
4.項目管理:每個公司開發(fā)部的基層領(lǐng)導(dǎo),ETL工程師晉升項目管理一般用時三到四年,項目管理對于技術(shù)的要求不高,僅僅需要對項目的整體流程有較為清晰的認(rèn)識,能夠協(xié)調(diào)乙方公司與甲方公司的關(guān)系,并處理好項目組的日常工作及生活;至于部門主管,部門經(jīng)理甚至更高的管理層,都是從基層一步步走上去的。
5.資深專家:一般從事ETL開發(fā)10年左右可以晉升專家級別,專家擁有資深的項目經(jīng)驗,脫離實際的開發(fā),更多的是對公司各項目組的疑難雜癥給予指導(dǎo)及解決方案。
6.機(jī)構(gòu)講師:擁有ETL工程師兩到三年的開發(fā)經(jīng)驗,可以進(jìn)培訓(xùn)機(jī)構(gòu)從助教做起,或者一些大學(xué)的講師,或者企業(yè)的培訓(xùn)講師,五年以上的開發(fā)經(jīng)驗為中高級講師,供不應(yīng)求。
月薪過萬的BI工程師每天都在干什么呢?
在一線大城市,很多BI工程師的月薪都在萬元以上,就是很普通的剛?cè)腴T的那些小菜鳥們工資都在7000左右。你想不想知道,這些高工資的IT業(yè)精英們,每天都在忙些什么呢?
其實,BI工程師只是對于商業(yè)智能的一個統(tǒng)稱,它包含好很多方面,大體有以下四類:
1)ETL數(shù)據(jù)整合 2)數(shù)據(jù)存儲管理 3)數(shù)據(jù)挖掘設(shè)計 4)多維分析展現(xiàn)
單就ETL數(shù)據(jù)整合就分為:Oracle OWB;Oracle ODI;IBM Datastage;Informatica
知識點很多,在今后的工作中大家需要不斷地學(xué)習(xí),在項目中不斷進(jìn)步,現(xiàn)在大家還沒有入門,舉個簡單的例子讓大家先了解一下日后的工作:
其實,簡單的來說,那些商業(yè)中的數(shù)據(jù),就好比我們收蘋果。
數(shù)據(jù)整合,就是摘蘋果,我們把果樹上的蘋果全部采摘下來。
數(shù)據(jù)存儲管理,就是我們要把這些蘋果放到倉庫里。
數(shù)據(jù)挖掘設(shè)計,就像我們把蘋果進(jìn)行歸類,好的大的歸在一起,不好看的小的歸在一起。
最后的多維分析展現(xiàn),就像我們把這些蘋果整理好了,賣給不同的人群,高需求的人群吃什么樣的蘋果,普通百姓吃什么樣的蘋果一樣。當(dāng)然,他們的工作要比收蘋果復(fù)雜的多,他們面對的都是那些看不見的數(shù)據(jù),用代碼給他們進(jìn)行歸類。
其實,BI工程師是一個入門相對高的行業(yè),計算機(jī)相關(guān)行業(yè)的大學(xué)本科畢業(yè)生,也都需要經(jīng)過20天左右的基礎(chǔ)培訓(xùn),才能夠入門,如果是非計算機(jī)相關(guān)行業(yè)的大學(xué)生,需要經(jīng)過30天左右的基礎(chǔ)培訓(xùn)才可以入門,但是,這個行業(yè)的商業(yè)需求是很大的,而且是未來的發(fā)展方向。重點是在于你自己夠不夠努力,認(rèn)真學(xué)習(xí)技術(shù)和相關(guān)行業(yè)的知識,這才是最重要的,也是那些真正月薪數(shù)萬的原因所在。