數倉工程師的升級打怪之路篇

一、數據倉庫工程師是什么
首先,我要聲明一點,數倉工程師不能有一個慣性思維,那便是把自己當成一個SQL工程師,即網絡上調侃的:數倉工程師 = SQL boy,我認為這是錯誤的定義?。
在我近幾年的工作沉淀中,我所理解的大數據工程師-數倉方向,其實是基于企業(yè)的海量數據而展開的崗位,當企業(yè)發(fā)展到了一定規(guī)模積累了海量數據,這個時候決策者就希望從大數據中提取有價值的數據從而幫助其做出正確的決策,實現以數據驅動業(yè)務增長和決策,而這一個過程就可以有數據倉庫工程師或者數據分析師的角色來參與了,即取數。
取數:顧名思義,就是從大數據中獲取數據進行編程開發(fā)實現一些統計指標以供決策,而離線數倉建設一般使用的是Hive,這里提到了Hive,那便科普一下Hive是什么,因為很多初學者對它或許有些誤解。

hive并不是一個數據倉庫,也不是一個數據庫,其實可以把它當成是一個數據倉庫工具來理解,hive出現的本質是為了讓數據科學家或者不是專門搞大數據開發(fā)的人通過用類sql的語句hql來處理數據,但最終實現底層還是轉換為MapReduce Job在集群上運行的,它就是作為一個友好的用戶接口屏蔽了我們開發(fā)MapReduce程序而已。而說它不是一個數據倉庫或者數據庫,其實是因為它本身也不存儲數據,像hive表的真實數據是存儲于集群的HDFS中,而hive表的元數據是存儲于hive內置的derby數據庫或者常用的mysql數據庫中,主要應用于OLAP這類分析系統而非OLTP這類實時響應高的查詢系統。

好了,回歸到數倉工程師是什么這個話題的討論,我想說的是,數倉工程師可能日常相關編程開發(fā)常用的就是寫HiveQL離線數倉建設,但不代表著工作就是一直在取數,我覺得我們數倉工程師不僅僅是取數,更重要的是管數。

何為管數? 這里我就要說下我的看法,當今時代數據膨脹式增長,面對著一堆數據,如何取數分析是一個活,但如果不對數據進行管理,那么取數這個過程也就沒那么方便了,這時候就會衍生出 數據管理和數據治理 這2個大方向。
數倉工程師,不單單是要取數,更要專注于管數

數據資產管理,從而讓數據有章可循,數據資產化,提升數據易用性和模型復用性
數據成本治理,從而讓數據成本不會一直膨脹式增長,對成本把控和鏈路優(yōu)化以及穩(wěn)定性保障

二、數倉開發(fā)需要學習什么
接下來分享下數倉工程師需要學習什么技術棧以及學習路線吧

三、最后總結
接下來就分享下我所理解的數倉工程師的升級打怪之路吧

1. 熟練使用hive離線和flink實時等編程技術,以及實踐分層模型表設計開發(fā)
-> 2. 深入實踐數倉建設和優(yōu)化模型架構,站在更高視角看大數據產品和數據模型架構
-> 3. 深入思考實踐數據該如何管理和如何治理,才不會使大數據變成一個數據沼澤
-> 4. 緊隨技術迭代發(fā)展,關注新技術的產生和應用場景




作者: 大數據階梯之路


歡迎關注微信公眾號 :大數據階梯之路