數(shù)倉(cāng)工程師的升級(jí)打怪之路篇
一、數(shù)據(jù)倉(cāng)庫(kù)工程師是什么
首先,我要聲明一點(diǎn),數(shù)倉(cāng)工程師不能有一個(gè)慣性思維,那便是把自己當(dāng)成一個(gè)SQL工程師,即網(wǎng)絡(luò)上調(diào)侃的:數(shù)倉(cāng)工程師 = SQL boy,我認(rèn)為這是錯(cuò)誤的定義?。
在我近幾年的工作沉淀中,我所理解的大數(shù)據(jù)工程師-數(shù)倉(cāng)方向,其實(shí)是基于企業(yè)的海量數(shù)據(jù)而展開(kāi)的崗位,當(dāng)企業(yè)發(fā)展到了一定規(guī)模積累了海量數(shù)據(jù),這個(gè)時(shí)候決策者就希望從大數(shù)據(jù)中提取有價(jià)值的數(shù)據(jù)從而幫助其做出正確的決策,實(shí)現(xiàn)以數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)增長(zhǎng)和決策,而這一個(gè)過(guò)程就可以有數(shù)據(jù)倉(cāng)庫(kù)工程師或者數(shù)據(jù)分析師的角色來(lái)參與了,即取數(shù)。
取數(shù):顧名思義,就是從大數(shù)據(jù)中獲取數(shù)據(jù)進(jìn)行編程開(kāi)發(fā)實(shí)現(xiàn)一些統(tǒng)計(jì)指標(biāo)以供決策,而離線數(shù)倉(cāng)建設(shè)一般使用的是Hive,這里提到了Hive,那便科普一下Hive是什么,因?yàn)楹芏喑鯇W(xué)者對(duì)它或許有些誤解。
hive并不是一個(gè)數(shù)據(jù)倉(cāng)庫(kù),也不是一個(gè)數(shù)據(jù)庫(kù),其實(shí)可以把它當(dāng)成是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具來(lái)理解,hive出現(xiàn)的本質(zhì)是為了讓數(shù)據(jù)科學(xué)家或者不是專門搞大數(shù)據(jù)開(kāi)發(fā)的人通過(guò)用類sql的語(yǔ)句hql來(lái)處理數(shù)據(jù),但最終實(shí)現(xiàn)底層還是轉(zhuǎn)換為MapReduce Job在集群上運(yùn)行的,它就是作為一個(gè)友好的用戶接口屏蔽了我們開(kāi)發(fā)MapReduce程序而已。而說(shuō)它不是一個(gè)數(shù)據(jù)倉(cāng)庫(kù)或者數(shù)據(jù)庫(kù),其實(shí)是因?yàn)樗旧硪膊淮鎯?chǔ)數(shù)據(jù),像hive表的真實(shí)數(shù)據(jù)是存儲(chǔ)于集群的HDFS中,而hive表的元數(shù)據(jù)是存儲(chǔ)于hive內(nèi)置的derby數(shù)據(jù)庫(kù)或者常用的mysql數(shù)據(jù)庫(kù)中,主要應(yīng)用于OLAP這類分析系統(tǒng)而非OLTP這類實(shí)時(shí)響應(yīng)高的查詢系統(tǒng)。
好了,回歸到數(shù)倉(cāng)工程師是什么這個(gè)話題的討論,我想說(shuō)的是,數(shù)倉(cāng)工程師可能日常相關(guān)編程開(kāi)發(fā)常用的就是寫HiveQL離線數(shù)倉(cāng)建設(shè),但不代表著工作就是一直在取數(shù),我覺(jué)得我們數(shù)倉(cāng)工程師不僅僅是取數(shù),更重要的是管數(shù)。
何為管數(shù)? 這里我就要說(shuō)下我的看法,當(dāng)今時(shí)代數(shù)據(jù)膨脹式增長(zhǎng),面對(duì)著一堆數(shù)據(jù),如何取數(shù)分析是一個(gè)活,但如果不對(duì)數(shù)據(jù)進(jìn)行管理,那么取數(shù)這個(gè)過(guò)程也就沒(méi)那么方便了,這時(shí)候就會(huì)衍生出 數(shù)據(jù)管理和數(shù)據(jù)治理 這2個(gè)大方向。
數(shù)倉(cāng)工程師,不單單是要取數(shù),更要專注于管數(shù)
數(shù)據(jù)資產(chǎn)管理,從而讓數(shù)據(jù)有章可循,數(shù)據(jù)資產(chǎn)化,提升數(shù)據(jù)易用性和模型復(fù)用性
數(shù)據(jù)成本治理,從而讓數(shù)據(jù)成本不會(huì)一直膨脹式增長(zhǎng),對(duì)成本把控和鏈路優(yōu)化以及穩(wěn)定性保障
二、數(shù)倉(cāng)開(kāi)發(fā)需要學(xué)習(xí)什么
接下來(lái)分享下數(shù)倉(cāng)工程師需要學(xué)習(xí)什么技術(shù)棧以及學(xué)習(xí)路線吧
三、最后總結(jié)
接下來(lái)就分享下我所理解的數(shù)倉(cāng)工程師的升級(jí)打怪之路吧
1. 熟練使用hive離線和flink實(shí)時(shí)等編程技術(shù),以及實(shí)踐分層模型表設(shè)計(jì)開(kāi)發(fā)
-> 2. 深入實(shí)踐數(shù)倉(cāng)建設(shè)和優(yōu)化模型架構(gòu),站在更高視角看大數(shù)據(jù)產(chǎn)品和數(shù)據(jù)模型架構(gòu)
-> 3. 深入思考實(shí)踐數(shù)據(jù)該如何管理和如何治理,才不會(huì)使大數(shù)據(jù)變成一個(gè)數(shù)據(jù)沼澤
-> 4. 緊隨技術(shù)迭代發(fā)展,關(guān)注新技術(shù)的產(chǎn)生和應(yīng)用場(chǎng)景
作者: 大數(shù)據(jù)階梯之路
歡迎關(guān)注微信公眾號(hào) :大數(shù)據(jù)階梯之路