大資料開發工程師需要具備哪些技能?
關於大資料開發工程師需要具備的技能,需要充分了解一下當前大資料的幾個就業方向,可以參考下主流網際網路行業的部門架構、職責和JD,大資料開發工程師,總體來說有這麼幾類,不同的公司叫法不一樣:
① 數倉開發工程師
② 演算法挖掘工程師
③ 大資料平臺開發工程師(應用)
④ 大資料前端開發工程師
一、 不同工程師的職責和技能要求
在不同層,對於工程師的職責、技能要求都會存在差異;
1、數倉開發工程師
根據企業的要求搭建數倉體系(DW),是企業所有級別決策的制定過程,基於分析性報告和決策支援目的,為需要業務智慧的企業,提供指導業務流程趕緊、監視時間、成本、質量以及控制,為戰略策略做資料支援。主要負責核心業務模組資料倉儲的構建,對資料模型進行設計,ETL實施、ETL效能最佳化、ETL資料監控以及一系列技術問題的解決;構建使用者主題、各業務線主題、推薦主題、BI門戶系統,並對全產品線資料字典維護,提升資料資產質量;
需要熟悉的技能:
① 需要深入理解常用的資料建模理論,獨立把控資料倉儲的各層級設計;
② 熟練掌握Hive/SQL、Spark/Map-Reduce/MPI分散式計算框架;
③ 熟悉大資料的離線和實時處理,可以進行海量資料模型的設計、開發;
2、演算法挖掘工程師
在大廠重創新、研究,在小廠重賦能、產品,有本質上的區別,也分很多種型別,包括搜尋演算法、導航演算法、NLP、視覺演算法、影像識別、自動駕駛、安全演算法、通訊演算法等,需要掌握的技能差異性也很大,整體來看,有以下共性。
需要熟悉的技能:
① 資料分析:透過程式語言進行科學分析,python、sql、spark,分散式計算框架Hadoop/Spark/Storm/ map-reduce/MPI;
② 文獻閱讀:能夠關注市面上的主流比賽演算法應用,能夠對學術、工業論壇、論文有非常多的積累;
③ 創新思維:場景遷移/舉一反三能力,例如看到廣告推薦中的根因定位,應該能馬上切換到安全中的異常溯源;
④ 演算法原理:機器學習、深度學習、強化學習、演算法導論等;
⑤ 數學功底:紮實的數學功底,能夠完成公式推導,並進行調優;
3、大資料平臺開發工程師
大資料平臺開發有兩個方面,平臺自研、應用開發,需要熟悉Web後端開發語言、大資料開源元件,至少精通掌握一種開發語言golang、php、java;對開發框架的原理&原始碼都有一定的瞭解(如laravel);
需要熟悉的技能:
① 平臺自研,屬於研發級開發,基於Hadoop元件開發HBase、Hive、Avro、Zookeeper等,完成後設資料系統、資料質量、資料採集、資料計算平臺、任務排程平臺等系統性建設;
② 應用開發,在大資料平臺Hadoop及Spark進行具體的應用開發,搭建資料包表平臺、自助資料分析平臺、資料地圖、標籤庫等;
4、大資料前端開發工程師
給使用者看到的都叫做前端,比如APP介面、Web 介面,與互動設計師、 視覺設計師協作,根據設計圖,依據相關程式語言進行介面內容實現,把介面更好地呈現給使用者;前端從業人員主要分佈於我國中東、南部地區,其中北京的前端開發工程師最多,其次是深圳、上海、成都、杭州、廣州、武漢、南京、長沙和西安;
需要熟悉的技能:
① 熟悉W3C技術標準,精通HTML、Javascript、Ajax、DOM、HTML5、CSS3等前端開發技術;
② 熟練掌握Vue、jequry、webpack等前端框架和相關技術並瞭解其實現原理,熟悉nginx、nodejs等webserver技術;
③ 熟悉前端效能分析和調優,並保證相容性和執行效率,可編寫複用的使用者介面元件;
④ 掌握前端開發的安全風險和對策,良好的分析和解決問題的能力;
以上就是對不同型別的大資料開發工程師的介紹。
二、大資料技術架構圖
可以參考一下大資料的技術架構。在企業裡面,如果按照資料流向來看,有一個主鏈路:
① 系統對接:大資料平臺開發工程師負責,對接各個業務系統,提供資料接入的能力;
② 採集儲存:數倉開發工程師,透過工具定期進行資料接入,並進行維度建模,抽象出DW層,建立指標;
③ 資料探勘:演算法挖掘工程師,結合數倉的底層模型表,dws表構建資料特徵,挖掘資料的業務價值;
④ 資料呈現:大資料前端開發工程師,根據資料介面資訊,在前端進行資料的視覺化圖表呈現,系統整合;
三、大資料相關的技術內容
由於資料中臺的出現,組織架構和分工可能會有一定到差異,根據所需要做的內容和事情,所需要掌握的技能樹是類似的,按照日常使用情況,可以歸納為以下幾種:
· 關於python、sql、spark、hadoop和訊息
綜合對大資料開發過程的技術要求,比較主流的幾個工具和技術:
python:主要解決資料處理、分析、挖掘的內容;
SQL:主要是在數倉儲存、模型儲存、指標介面開發過程中需要非常熟練;Spark:在演算法挖掘、大批次資料計算、機器學習應用方面的應用;
Hadoop神態:對資料儲存、大資料平臺開發都有非常強的要求,依賴HDFS、HIVE等特性;訊息:資料介面開發,對於資料應用,和上層應用系統之間的互通有比較高的要求;
· 關於實時計算相關的技術棧
flink:在實時計算,處理批、流資料,實現秒級計算並賦能給業務系統的核心技術;
四、小結
對於大資料,隨著技術的不斷迭代,數字化的發展,對資料職能的區分度會越來越細分,持續保持對前沿知識的關注,透過和周邊的大佬進行學習,結合場景進行深度應用,在數字化的道路上才能走的更長遠。
作者:@西索 知乎:鄭小柒是西索啊, 資深資料分析專家; 故事很多,餘生慢慢分享; “資料人創作者聯盟” 成員。
來自 “ 一個資料人的自留地 ”, 原文作者:@西索;原文連結:https://mp.weixin.qq.com/s/7M5TQ6L2fDjrLROKIdKJMw,如有侵權,請聯絡管理員刪除。
相關文章
- 成為一名大資料工程師,需要具備什麼技能?大資料工程師
- 大資料開發工程師需要掌握什麼技能?大資料工程師
- 【入門必看】網路安全工程師需要具備哪些技能?工程師
- web前端工程師需要具備哪些要求?Web前端工程師
- 做大資料工程師需要掌握哪些技能呢?大資料工程師
- 軟體測試工程師需要具備哪些能力工程師
- Python工程師具備哪些技能才能提升求職機率?Python工程師求職
- 一線遊戲大廠招聘需要具備哪些必備技能?遊戲
- 軟體測試工程師需要具備哪些素質?工程師
- Java找工作需要具備哪些技能?Java
- CPDA|資料分析師需要具備哪些基本功?
- Java工程師要具備哪些技能呢?Java都學哪些內容呢?Java工程師
- 成為優秀的資料分析師,需要具備哪些技能? 看完這篇你就懂了!
- linux網路工程師需要掌握哪些技能?linux網路工程師技能分析Linux工程師
- 大資料工程師需要學習哪些技術?大資料工程師
- 網路安全應急響應工程師需要具備哪些能力?工程師
- 物聯網大資料平臺需要具備哪些功能大資料
- 資料分析師必備技能都有哪些?
- 軟體架構師需要具備的技能 - Abeysinghe架構
- 分散式服務介面的java工程師,需要熟練具備的技能點分散式Java工程師
- 搞大資料,Java 工程師需要掌握哪些知識?大資料Java工程師
- Java開發需要掌握哪些技術?Java程式設計師必備技能Java程式設計師
- Java工程師要求三年工作經驗,三年經驗的工程師都具備哪些技能?Java工程師
- 作為一名軟體測試工程師,需要具備哪些能力?工程師
- 優秀的Web前端開發工程師需要具備的4個條件!Web前端工程師
- 優秀的DevOps工程師必須具備的軟技能dev工程師
- 開發一款教育app需要具備哪些功能APP
- 開發一套租房APP需要具備哪些功能?APP
- 學大資料需要具備四種條件?你具備幾種?大資料
- 高階軟體測試工程師,需要掌握哪些技能工程師
- 新時代的網路工程師需要掌握哪些技能工程師
- 高階PHP工程師應該具備的一些技能PHP工程師
- 大資料測試工程師入門級必備技能,你get了嗎?大資料工程師
- 智慧醫院APP開發需要具備哪些軟體功能?APP
- web前端工程師必備技能Web前端工程師
- 一個合格的程式設計師,需要哪些必備技能?程式設計師
- 入門 IT 行業,該具備哪些技能?行業
- 大資料前景如何?大資料開發工程師是什麼?大資料工程師