1. 什么是大數據?
大數據的幾個明顯的特點:
海量的數據
數據多樣性
數據增速快
以上特點帶來了數據的存儲和計算問題,大數據技術的出現就是為了解決上述問題的。
接著往下看,下圖 1-1 展示了數據端到端的流程,從左到右依次為:數據產生、數據采集和傳輸、數據存儲,處理、數據應用。
為了解決這個過程中大數據場景遇到的問題,我們可以使用哪些技術呢?
數據采集和傳輸:Sqoop、Flume、DataX、Canal 等。
數據存儲:HDFS、HBase、ES、ClickHouse、Kafka等。
數據計算:MapReduce、Spark、Flink 、Hive、Presto 等。
如果你現在還不了解這些技術?不要緊,先有個大概的印象就好。技術不斷在進步,先理解技術產生的背景,比技術本身更重要。
2、大數據開發工程師的分類 & 職責
簡單總結如下,公司越大,崗位分得越細。
看了上面大數據細分的崗位,不難發現,這是一個比較龐大的生態,不是一兩句話就能概括的,下面我盡可能的還原每個崗位的工作職責。
數據運維工程師
① 協調機器資源,采購、縮減、預算等等。
② 集群組件的維護、升級。
③ 處理集群和用戶的各種問題...
④ 如果公司采購了阿里/網易這樣的數據平臺,就會很省心。
數據平臺開發工程師
① 開發面向數據開發使用的工具,比如元數據系統、數據質量、數據采集、數據計算平臺、任務調度平等。自研或者基于開源的項目進行二次開發。
② 開發面向產品和數據分析師的工具:數據報表平臺、數據分析平臺、數據查詢平臺(AdHoc)等。
③ 需要熟悉 Web 后端開發語言,比如 JAVA/Go等,熟悉大數據開源組件,可以進行二次開發等。
數據倉庫工程師
① 離線數倉的開發,比如數倉建模、數據清洗。
② 實時數倉:實時指標的開發,使用Spark Streaing 、Flink。
③ 主要是寫 SQL(離線、實時開發平臺)、需要理解業務,開發業務報表。
④ 需要業務能力,根據業務數據進行建模。
數據測試工程師
① 一般公司沒有這個崗位,大概率又開發工程師進行自測。
② 測試數倉開發的指標邏輯、數據的準確性。
③ 測試業務埋點上報的準確性等。
數據分析師
不同的公司也有些不同的叫法:比如阿里的BI,美團的商分
① 臨時取數:比如大型活動,某一次運營活動等數據查詢分析。
② 日報、周報、月報、季報、年報、報表等等。
③ 專題分析,比如用戶畫像分析、ROI分析、風控分析、指標體系的搭建等
④ 市場分析,比如要做競品分析、渠道分析、行業分析等等。
⑤ 編寫數據分析報告。
數據挖掘師
① 用戶基礎研究,用戶生命周期刻畫(進入、成長、成熟、衰退、流失)、用戶細分模型、用戶價值模型、用戶活躍度模型、用戶意愿度識別模型、用戶偏好識別模型、用戶流失預警模型、用戶激活模型等。
② 個性化推薦算法:基于協同過濾(USERBASE/ITEMBASE)的推薦,基于內容推薦,基于關聯規則Apriot算法推薦,基于熱門地區、季節、商品、人群的推薦等。
③ 風控模型:惡意注冊模型、異地識別模型、欺詐識別模型、高危會員模型;電商領域(炒信模型、刷單模型、職業差評師模型、虛假發貨模型、反欺詐模型);金融領域(欺詐評分模型、征信評分模型、催收模型、虛假賬單識別模型等)。
④ 文本挖掘、語義識別、圖像識別,等等。
算法工程師
① 語音、圖像、自然語言處理、深度學習等機器學習算法開發及優化。
② 挖掘并推進算法在業務中應用:比如美團外賣的配送算法、滴滴打車的派單算法。
③ 推薦系統、用戶畫像。
數據產品經理
① 協助公司各業務?向?數據應?產品調研、規劃、執?。
② 數據產品的開發項目管理工作,確保項目按照需求如期完成。
3、總結
以上大數據的崗位的職責,也只是冰山一角,每一家公司獨一崗位的分類和職責也不太一樣。但是實現數據價值的目標是一致的。
看到好多人都在說大數據工程師是 SQL Boy,也有自嘲,算法工程師自嘲為算命工程師,哈哈,簡直不能再形象了。