理論上說,什麼是數據工程師,什麼是數據科學家
這麼多公司需要大數據人才,小夥伴們也紛紛躍躍欲試投身這場數據革命中。可到底大數據有哪些崗位需求呢?對用人的要求是怎樣的呢?我們今天來仔細看一看。
數據行業裡面,跟數據有關的崗位一般有三種:1. Data Analysis, 2. Data Engineer, 3. Data Scientist.
理論上來說,應該是下邊的這個分工:
Data Analysis
Data Analysis是比較entry level的數據分析師,也指傳統的數據分析崗位,用用regression model,做做回歸分析,或者拿Excel處理一下幾頁的數據,出一張QQplot的圖,甚至就算用的是Tableau畫出很高大上的效果圖,其實崗位也還是Data Analysis。這種崗位的需求存量較大,但不是本文的重點。
本文重點介紹後兩種,Data Engineer 和Data Scientist。
Data Engineer
Data Engineer主要職責是經營,維護數據倉庫。在崗位上做的很多是「我吃的是草,擠出來的是奶」的活兒。對,就是數據的ETL (Extraction, transform, Load),將所需的數據從不同來源不同格式的數據源中提取出來,轉換類型以方便使用,然後歸檔入數據倉庫。傳統的Data Engineer使用很多SQL的工具,包括MySQL,Oracle SQL等來協助完成這項任務。一般來說,Data Engineer需要有一定的CS背景,需要能夠編程,而且指不定什麼時候伺服器又down了,你還得會修。現在不會?學嘛~。
However, 在「大數據」時代,面對動輒每天幾百G的數據規模,僅僅掌握傳統的數據工具,最終結果只能是「臣妾不能夠」。於是越來越多的Data Engineer需要掌握新的技能,利用分散式的系統來完成對數據的ETL。 現在用得最廣泛的就是Hadoop和Spark。分散式架構的Hadoop生態系統包含很多組件和應用工具,分散式文件系統HDFS,分散式SQL工具Hive,流處理工具Storm,消息分發工具Kafka,系統資源管理工具Yarn等。Data Engineer們需要利用這些工具配合程序開發來完成數據處理的工作。所以對於Data Engineer來說,在掌握一定的計算機編程能力的同時,還需要對於Hadoop生態系統及相關工具應用有相當的熟悉程度。就像上圖中的招聘要求一樣。
有了可用的高質量的數據,那麼Data Scientist就可以出場了。
Data Scientist
Data Scientist在公司裡面的責任,是從數據中挖掘價值,為公司的商業決策提供依據,職位比Data Analysis高,薪水當然也很可觀,年薪12萬刀以上妥妥的。
對數理統計有較好的掌握,對相關行業也有一定的理解,既要能夠編點程序做做machine learning,又要能夠設計數據可視化的結果展示,但可喜的是不一定要求有CS背景。
當然,由於現在人才市場短缺以及大數據也剛剛興起,很多公司可能連ETL這部分東西都要讓Data Scientist去干,充分展示出資本主義國家對勞動人民的無情壓榨。
需要強調的有兩點:
首先,Data Scientist的未來,應該是閃耀於各行各業之中,甚至IBM提出了CDO這樣一個「首席數據官」的概念。數據科學家並不是一種新興的獨立的行業,而是強調利用各種工具在現有行業的數據中去挖掘價值,讓數據來引導決策。會使用各種machine learning的models,像Random Forest,Support Vector Machine等,還不夠,一定要結合到相關行業的數據中去,才能發揮其價值。
其次,Data Scientist應該怎麼看待相關性和因果性(correlation and causality)。現在很多人,包括暢銷書《大數據時代 生活、工作與思維的大變革》作者維克多等人,都在呼籲放下因果性,讓相關性來指引數據結果。然而也有一些人對此表示嚴重的憂慮,包括Support Vector Machine的發明者Viladimir Vapnik,他在最近的一次演講中,將深度學習成為『蠻力』,並警告『魔鬼往往出自於蠻力』。
雖然這兩種崗位對人才的要求不盡相同,但從上面的介紹中你一定會發現,如果有相關的工作實習,或者項目經驗,那麼你會變得非常搶手。這就是現在大數據就業市場的特點。
推薦閱讀: