標籤:

大數據工程師需要學習哪些?


請參考"復旦大數據(微信號: FudanBigData)"的一篇文章:

標題:大數據工程師做什麼?需要具備什麼能力?

大數據是眼下非常時髦的技術名詞,與此同時自然也催生出了一些與大數據處理相關的職業,通過對數據的挖掘分析來影響企業的商業決策。

這群人在國外被叫做數據科學家(Data Scientist),這個頭銜最早由D.J.Pati和Jeff Hammerbacher於2008年提出,他們後來分別成為了領英(LinkedIn)和Facebook數據科學團隊的負責人。而數據科學家這個職位目前也已經在美國傳統的電信、零售、金融、製造、物流、醫療、教育等行業里開始創造價值。

不過在國內,大數據的應用才剛剛萌芽,人才市場還不那麼成熟,「你很難期望有一個全才來完成整個鏈條上的所有環節。更多公司會根據自己已有的資源和短板,招聘能和現有團隊互補的人才。」領英(LinkedIn)中國商務分析及戰略總監王昱堯對《第一財經周刊》說。

於是每家公司對大數據工作的要求不盡相同:有的強調資料庫編程、有的突出應用數學和統計學知識、有的則要求有諮詢公司或投行相關的經驗、有些是希望能找到懂得產品和市場的應用型人才。正因為如此,很多公司會針對自己的業務類型和團隊分工,給這群與大數據打交道的人一些新的頭銜和定義:數據挖掘工程師、大數據專家、數據研究員、用戶分析專家等都是經常在國內公司里出現的Title,我們將其統稱為「大數據工程師」。

王昱堯認為,在一個成熟的數據驅動型公司,「大數據工程師」往往是一個團隊,它意味著從數據的收集、整理展現、分析和商業洞察、以至於市場轉化的全過程。這個團隊中可能包括數據工程師、分析師、產品專員、市場專員和商業決策者等角色,共同完成從原始數據到商業價值的轉換—概括來講,這是一個支持企業做出商業決策、發掘商業模式的重要群體。

由於國內的大數據工作還處在一個有待開發的階段,因此能從其中挖掘出多少價值完全取決於工程師的個人能力。已經身處這個行業的專家給出了一些人才需求的大體框架,包括要有計算機編碼能力、數學及統計學相關背景,當然如果能對一些特定領域或行業有比較深入的了解,對於其快速判斷並抓准關鍵因素則更有幫助。

雖然對於一些大公司來說,擁有碩博學歷的公司人是比較好的選擇,不過阿里巴巴集團研究員薛貴榮強調,學歷並不是最主要的因素,能有大規模處理數據的經驗並且有喜歡在數據海洋中尋寶的好奇心會更適合這個工作。

除此之外,一個優秀的大數據工程師要具備一定的邏輯分析能力,並能迅速定位某個商業問題的關鍵屬性和決定因素。「他得知道什麼是相關的,哪個是重要的,使用什麼樣的數據是最有價值的,如何快速找到每個業務最核心的需求。」聯合國百度大數據聯合實驗室數據科學家沈志勇說。學習能力能幫助大數據工程師快速適應不同的項目,並在短時間內成為這個領域的數據專家;溝通能力則能讓他們的工作開展地更順利,因為大數據工程師的工作主要分為兩種方式:由市場部驅動和由數據分析部門驅動,前者需要常常向產品經理了解開發需求,後者則需要找運營部了解數據模型實際轉化的情況。

你可以將以上這些要求看做是成為大數據工程師的努力方向,因為根據萬寶瑞華管理合伙人顏莉萍的觀察,這是一個很大的人才缺口。目前國內的大數據應用多集中在互聯網領域,有超過56%的企業在籌備發展大數據研究,「未來5年,94%的公司都會需要數據科學家。」顏莉萍說。因此她也建議一些原本從事與數據工作相關的公司人可以考慮轉型。

本期《第一財經周刊》採訪了BAT這3家國內互聯網公司,以及相關領域的人力資源專家,他們從職場角度為我們解讀如何成為大數據工程師以及這類崗位的職場現狀。

A 大數據工程師做什麼?

用阿里巴巴集團研究員薛貴榮的話來說,大數據工程師就是一群「玩數據」的人,玩出數據的商業價值,讓數據變成生產力。大數據和傳統數據的最大區別在於,它是在線的、實時的,規模海量且形式不規整,無章法可循,因此「會玩」這些數據的人就很重要。

沈志勇認為如果把大數據想像成一座不停累積的礦山,那麼大數據工程師的工作就是,「第一步,定位並抽取信息所在的數據集,相當於探礦和採礦。第二步,把它變成直接可以做判斷的信息,相當於冶煉。最後是應用,把數據可視化等。」

因此分析歷史、預測未來、優化選擇,這是大數據工程師在「玩數據」時最重要的三大任務。通過這三個工作方向,他們幫助企業做出更好的商業決策。

找出過去事件的特徵

大數據工程師一個很重要的工作,就是通過分析數據來找出過去事件的特徵。比如,騰訊的數據團隊正在搭建一個數據倉庫,把公司所有網路平台上數量龐大、不規整的數據信息進行梳理,總結出可供查詢的特徵,來支持公司各類業務對數據的需求,包括廣告投放、遊戲開發、社交網路等。

找出過去事件的特徵,最大的作用是可以幫助企業更好地認識消費者。通過分析用戶以往的行為軌跡,就能夠了解這個人,並預測他的行為。「你可以知道他是什麼樣的人、他的年紀、興趣愛好,是不是互聯網付費用戶、喜歡玩什麼類型的遊戲,平常喜歡在網上做什麼事情。」騰訊雲計算有限公司北京研發中心總經理鄭立峰對《第一財經周刊》說。下一步到了業務層面,就可以針對各類人群推薦相關服務,比如手游,或是基於不同特徵和需求衍生出新的業務模式,比如微信的電影票業務。

預測未來可能發生的事情

通過引入關鍵因素,大數據工程師可以預測未來的消費趨勢。在阿里媽媽的營銷平台上,工程師正試圖通過引入氣象數據來幫助淘寶賣家做生意。「比如今年夏天不熱,很可能某些產品就沒有去年暢銷,除了空調、電扇,背心、游泳衣等都可能會受其影響。那麼我們就會建立氣象數據和銷售數據之間的關係,找到與之相關的品類,提前警示賣家周轉庫存。」薛貴榮說。

在百度,沈志勇支持「百度預測」部分產品的模型研發,試圖用大數據為更廣泛的人群服務。已經上線的包括世界盃預測、高考預測、景點預測等。以百度景點預測為例,大數據工程師需要收集所有可能影響一段時間內景點人流量的關鍵因素進行預測,並為全國各個景點未來的擁擠度分級—在接下來的若干天時間裡,它究竟是暢通、擁擠,還是一般擁擠?

找出最優化的結果

根據不同企業的業務性質,大數據工程師可以通過數據分析來達到不同的目的。

以騰訊來說,鄭立峰認為能反映大數據工程師工作的最簡單直接的例子就是選項測試(AB Test),即幫助產品經理在A、B兩個備選方案中做出選擇。在過去,決策者只能依據經驗進行判斷,但如今大數據工程師可以通過大範圍地實時測試—比如,在社交網路產品的例子中,讓一半用戶看到A界面,另一半使用B界面,觀察統計一段時間內的點擊率和轉化率,以此幫助市場部做出最終選擇。

作為電商的阿里巴巴,則希望通過大數據鎖定精準的人群,幫助賣家做更好的營銷。「我們更期待的是你能找到這樣一批人,比起現有的用戶,這些人對產品更感興趣。」薛貴榮說。一個淘寶的實例是,某人蔘賣家原來推廣的目標人群是產婦,但工程師通過挖掘數據之間的關聯性後發現,針對孕婦群體投放的營銷轉化率更高。

B 需要具備的能力

數學及統計學相關的背景

就我們採訪過的BAT三家互聯網大公司來說,對於大數據工程師的要求都是希望是統計學和數學背景的碩士或博士學歷。沈志勇認為,缺乏理論背景的數據工作者,更容易進入一個技能上的危險區域(Danger Zone)—一堆數字,按照不同的數據模型和演算法總能捯飭出一些結果來,但如果你不知道那代表什麼,就並不是真正有意義的結果,並且那樣的結果還容易誤導你。「只有具備一定的理論知識,才能理解模型、復用模型甚至創新模型,來解決實際問題。」沈志勇說。

計算機編碼能力

實際開發能力和大規模的數據處理能力是作為大數據工程師的一些必備要素。「因為許多數據的價值來自於挖掘的過程,你必須親自動手才能發現金子的價值。」鄭立峰說。

舉例來說,現在人們在社交網路上所產生的許多記錄都是非結構化的數據,如何從這些毫無頭緒的文字、語音、圖像甚至視頻中攫取有意義的信息就需要大數據工程師親自挖掘。即使在某些團隊中,大數據工程師的職責以商業分析為主,但也要熟悉計算機處理大數據的方式。

對特定應用領域或行業的知識

在顏莉萍看來,大數據工程師這個角色很重要的一點是,不能脫離市場,因為大數據只有和特定領域的應用結合起來才能產生價值。所以,在某個或多個垂直行業的經歷能為應聘者積累對行業的認知,對於之後成為大數據工程師有很大幫助,因此這也是應聘這個崗位時較有說服力的加分項。

「他不能只是懂得數據,還要有商業頭腦,不論對零售、醫藥、遊戲還是旅遊等行業,能就其中某些領域有一定的理解,最好還是與公司的業務方向一致的,」就此薛貴榮還打了個比方,「過去我們說一些奢侈品店員勢利,看人一眼就知道買得起買不起,但這群人恰恰是有敏銳度的,我們認為他們是這個行業的專家。又比如對醫療行業了解的人,他在考慮醫療保險業務時,不僅會和人們醫院看病的記錄相關,也會考慮飲食數據,這些都是基於對該領域的了解。」

C 大數據工程師的職業發展

如何成為大數據工程師

由於目前大數據人才匱乏,對於公司來說,很難招聘到合適的人才—既要有高學歷,同時最好還有大規模數據處理經驗。因此很多企業會通過內部挖掘。

今年8月,阿里巴巴舉辦了一個大數據競賽,把天貓平台上的數據拿出來,去除敏感問題後,放到雲計算平台上交予7000多支隊伍進行比賽,比賽分為內部賽和外部賽。「通過這個方式來激勵內部員工,同時也發現外部人才,讓各行業的大數據工程師湧現出來。」

顏莉萍建議,目前長期從事資料庫管理、挖掘、編程工作的人,包括傳統的量化分析師、Hadoop方面的工程師,以及任何在工作中需要通過數據來進行判斷決策的管理者,比如某些領域的運營經理等,都可以嘗試該職位,而各個領域的達人只要學會運用數據,也可以成為大數據工程師。

薪酬待遇

作為IT類職業中的「大熊貓」,大數據工程師的收入待遇可以說達到了同類的頂級。根據顏莉萍的觀察,國內IT、通訊、行業招聘中,有10%都是和大數據相關的,且比例還在上升。顏莉萍表示,「大數據時代的到來很突然,在國內發展勢頭激進,而人才卻非常有限,現在完全是供不應求的狀況。」在美國,大數據工程師平均每年薪酬高達17.5萬美元,而據了解,在國內頂尖互聯網類公司,同一個級別大數據工程師的薪酬可能要比其他職位高20%至30%,且頗受企業重視。

職業發展路徑

由於大數據人才數量較少,因此大多數公司的數據部門一般都是扁平化的層級模式,大致分為數據分析師、資深研究員、部門總監3個級別。大公司可能按照應用領域的維度來劃分不同團隊,而在小公司則需要身兼數職。有些特彆強調大數據戰略的互聯網公司則會另設最高職位—如阿里巴巴的首席數據官。「這個職位的大部分人會往研究方向發展,成為重要數據戰略人才。」顏莉萍說。另一方面,大數據工程師對商業和產品的理解,並不亞於業務部門員工,因此也可轉向產品部或市場部,乃至上升為公司的高級管理層。

「復旦大數據」(微信號: FudanBigData)的二維碼:

http://weixin.qq.com/r/XEgUDATErVnSrUBv9x1O (二維碼自動識別)


由淺入深依次掌握:

Java語言基礎:

Java語言基礎、Java流程式控制制、Java字元串、Java數組與類和對象、數字處理類與核心技術、I/O與反射,多線程、Swing程序與集合類;

HTML、CSS與JavaScript:

PC端網站布局、HTML5+CSS3基礎、WebAPP頁面布局、原生javascript交互功能開發、Ajax非同步交互、jQuery應用;

JavaWeb和資料庫:

資料庫、javaWeb開發核心、JavaWeb開發內幕;

Linux基礎:

Linux安裝與配置、系統管理與目錄管理、用戶與用戶組管理、Shell編程、伺服器配置、Vi編輯器與Emacs編輯器;

Hadoop生態體系:

Hadoop起源與安裝、MapReduce快速入門、Hadoop分散式文件系統、Hadoop文件I/O詳解、MapReduce工作原理、MapReduce編程開發、Hive數據倉庫工具、開源資料庫HBase、Sqoop與Oozie;

Spark生態體系:

Spark簡介、Spark部署和運行、Spark程序開發、Spark編程模型、作業執行解析、Spark SQL與DataFrame、深入Spark Streaming、Spark MLlib與機器學習、GraphX與SparkR、spark項目實戰、scala編程、Python編程;

Storm實時開發:

storm簡介與基本知識、拓撲詳解與組件詳解、Hadoop分散式系統、spout詳解與bolt詳解、zookeeper詳解、storm安裝與集群搭建、storm-starter詳解、開源資料庫HBase、trident詳解;

投入時間和精力,以興趣來驅動學習。在整個的學習過程中貫穿著代碼實戰。看的代碼是別人的,動手寫出來的是自己的。自己動手寫代碼,記憶更加深刻,效率更高。


大數據工程師學習的還是比較多的,因此整理了一下學習路線,下面是一個大致的建議:

第一階段

先具備一定的Linux和Java的基礎,不一定要特別深,先能玩起來,Linux的話能自己執行各種操作,Java能寫點小程序。這些事為搭建Hadoop環境做準備。

學習Hadoop,學會搭建單機版的Hadoop,然後是分散式的Hadoop,寫一些MR的程序。

接著學學Hadoop生態系統的其它大數據組件,比如Spark、Hive、Hbase,嘗試去搭建然後跑一些官網的Demo。

Linux、Java、各種組件都有一些基礎後,要有一些項目方面的實踐,這時候找一些成功案例,比如搜搜各種視頻教程中如何搞一個推薦系統,把自己學到的用起來。

第二階段

到這裡是一個基本的階段了,大致對數據開發有一些了解了。接著要有一些有意思內容可以選學。

數據倉庫體系:如何搞數據分層,數據倉庫體系該如何建設,可以有一些大致的了解。

用戶畫像和特徵工程:這一部分越早了解越好。

一些系統的實現思路:比如調度系統、元數據系統、推薦系統這些系統如何實現。

第三階段

下面要有一些細分的領域需要深入進行,看工作和興趣來選擇一些來深入進行

分散式理論:比如Gossip、DHT、Paxo這些構成了各種分散式系統的底層協議和演算法,還是要學一下的。

數據挖掘演算法:演算法是要學的,但是不一定純理論,在分散式環境中實現演算法,本身就是一個大的挑戰。

各種系統的源碼學習:比如Hadoop、Spark、Kafka的源碼,想深入搞大數據,源碼跑不掉。

希望大家在數據工程的道路上,能夠越走越遠,為中華數據事業,添磚加瓦,促進大數據時代,早日到來!

推薦閱讀-多智時代:什麼是數據工程師,主要做些什麼,數據工程師的學習路線? - 大數據 多智時代


推薦閱讀:

國家推行某一項改革後,怎麼分析這項改革的經濟效果?畢竟經濟社會又不能設對照組,經濟學有沒有相關方法?
用計算機和大數據進行社會科學研究會成為未來主流嗎?
海量日誌數據存儲用 elasticsearch 和 hbase 哪個好?
達到多大規模的數據,才值得用大數據的方式來處理?
阿里雲的MaxCompute數加(原ODPS)用的怎樣?

TAG:大數據 |