數據科學之——大數據知識體系大全
1 淺談數據科學
數據科學(Data Science)這一概念自大數據崛起也隨之成為數據領域的討論熱點,從去年開始,「數據科學家」便成為了一個工作職位出現在各種招聘信息上。那麼究竟什麼是數據科學?大數據和數據科學又是什麼關係?大數據在數據科學中起到怎樣的作用?本文主要是想起到科普作用,使即將或正在從事數據工作的朋友對數據科學工作有一個全概貌了解,也使各有想法進入大數據領域的朋友在真正從事大數據工作之前對行業的情況有所知曉。數據科學是一個混合交叉學科(如下圖所示),要完整的成為一個數據科學家,就需要具備較好的數學和計算機知識,以及某一個專業領域的知識。所做的工作都是圍繞數據打轉轉,在數據量爆發之後,大數據被看做是數據科學中的一個分支。
2 淺談大數據
大數據(Big Data)其實已經興起好些年了,只是隨著無處不在的感測器、無處不在的數據埋點,獲取數據變得越來越容易、量越來越大、內容越來越多樣化,於是原來傳統的數據領域不得不思考重新換一個平台可以處理和使用逐漸龐大數據量的新平台。用以下兩點進一步闡述:
- 吳軍博士提出的一個觀點:現有產業+新技術=新產業,大數據也符合這個原則,只是催生出來的不僅僅是一個新產業,而是一個完整的產業鏈:原有的數據領域+新的大數據技術=大數據產業鏈;
- 數據使用的範圍,原來的數據應用主要是從現有數據中的數據中進行採樣,再做數據挖掘和分析,發掘出數據中的潛在規則用以預測或決策,然而採樣始終會捨棄一部分數據,即會丟失一部分潛在規則和價值,隨著數據量和內容的不斷累積,企業越來越重視在數據應用時可以使用全量數據,可以儘可能的覆蓋所有潛在規則從而發掘出可能想到或從未想到的價值。
在我學習和從事大數據相關工作的4年里,在我有限的知識海洋里,大數據是一個以數據流向為主的鏈條或管道,數據從何而來,又去往哪裡,不僅是哲學上的一個問題,也可以在做數據工作的時候考慮這個問題。如下圖所示,大數據領域可以分為以下幾個主要方向,而這幾個方向又可以分別對應一些工作職位:
1 數據平台
Data Platform,構建、維護穩定、安全的大數據平台,按需設計大數據架構,調研選型大數據技術產品、方案,實施部署上線。對於大數據領域涉及到的大多數技術都需要求有所了解,並精通給一部分,具備分散式系統的只是背景……
對應職位:大數據架構師,數據平台工程師
2 數據採集
Data Collecting,從Web/Sensor/RDBMS等渠道獲取數據,為大數據平台提供數據來源,如Apache Nutch是開源的分散式數據採集組件,大家熟知的Python爬蟲框架ScraPy等。
對應職位:爬蟲工程師,數據採集工程師
3 數據倉庫
Data Warehouse,有點類似於傳統的數據倉庫工作內容:設計數倉層級結構、ETL、進行數據建模,但基於的平台不一樣,在大數據時代,數據倉庫大多基於大數據技術實現,例如Hive就是基於Hadoop的數據倉庫。
對應職位:ETL工程師,數據倉庫工程師
4 數據處理
Data Processing,完成某些特定需求中的處理或數據清洗,在小團隊中是結合在數據倉庫中一起做的,以前做ETL或許是利用工具直接配置處理一些過濾項,寫代碼部分會比較少,如今在大數據平台上做數據處理可以利用更多的代碼方式做更多樣化的處理,所需技術有Hive、Hadoop、Spark等。BTW,千萬不要小看數據處理,後續的數據分析、數據挖掘等工作都是基於數據處理的質量,可以說數據處理在整個流程中有特別重要的位置。
對應職位:Hadoop工程師,Spark工程師
5 數據分析
Data Analysis,基於統計分析方法做數據分析:例如回歸分析、方差分析等,天善也有很多數據分析課程。大數據分析例如Ad-Hoc互動式分析、SQL on Hadoop的技術有:Hive 、Impala、Presto、Spark SQL,支持OLAP的技術有:Kylin。
對應職位:數據分析師
6 數據挖掘
Data Mining,是一個比較寬泛的概念,可以直接理解為從大量數據中發現有用的信息。大數據中的數據挖掘,主要是設計並在大數據平台上實現數據挖掘演算法:分類演算法、聚類演算法、關聯分析等。
對應職位:數據挖掘工程師
7 機器學習
Machine Learning,與數據挖掘經常一起討論,甚至被認為是同一事物。機器學習是一個計算機與統計學交叉的學科,基本目標是學習一個x->y的函數(映射),來做分類或者回歸的工作。之所以經常和數據挖掘合在一起講是因為現在好多數據挖掘的工作是通過機器學習提供的演算法工具實現的,例如個性化推薦,是通過機器學習的一些演算法分析平台上的各種購買,瀏覽和收藏日誌,得到一個推薦模型,來預測你喜歡的商品。
對應職位:演算法工程師,研究員
8 深度學習
Deep Learning,是機器學習裡面的一個topic(非常火的Topic),從深度學習的內容來看其本身是神經網路演算法的衍生,在圖像、語音、自然語言等分類和識別上取得了非常好的效果,大部分的工作是在調參。不知道大家有否發現現在的Google 翻譯比以前的要準確很多,因為Google在去年底將其Google 翻譯的核心從原來基於統計的方法換成了基於神經網路的方法~So~
對應職位:演算法工程師,研究員
9 數據可視化
Data Visualization,將分析、挖掘後的高價值數據用比較優美、靈活的方式展現在老闆、客戶、用戶面前,更多的是一些前端的東西,maybe要求一定的美學知識。結合使用者的喜好,以最恰當的方式呈現數據價值。
對應職位:數據工程師,BI工程師
10 數據應用
Data Application,從以上的每個部分可以衍生出的應用,例如廣告精準投放、個性化推薦、用戶畫像等。
對應職位:數據工程師
建議:想進入大數據領域的朋友可以選一個與自己現有技術背景相匹配的方向作為入門,然後將你的魔爪延伸到其他感興趣的方向,這是最快進入這個領域的一個方法。這裡所列的每一個方向都需要耗費大量的時間、腦力、體力,都是這個智能時代繼續發展的過程中不可或缺的一部分。
所談部分限於本人水平,歡迎大家砸磚交流。
------------------------------------------------------------------
作者:Mars
大數據系列免費視頻教程 【Linux、Hadoop、Spark、Kylin、Hive、HBase、Sqoop、日誌分析等】 大數據系列免費視頻教程 【Linux、Hadoop、Spark、Kylin、Hive、HBase、Sqoop、日誌分析等】
最近很多人私信問我問題,平常知乎評論看到不多,如果沒有及時回復,大家也可以加小編微信:tszhihu,進知乎大數據分析挖掘交流群,可以跟各位老師互相交流。謝謝。
推薦閱讀:
※滴滴打車滴米系統的演算法?
※雲計算和大數據分析的系統架構方向,求學習計劃或者路線圖?
※在當前大數據背景下,基於數據的歸納學習能否使得中醫重新獲得生命力?
※如何看待《大數據時代》中提到的「不是因果關係,而是相關關係」,對科研有什麼啟發?
※在實體經濟一片下滑的大環境中,哪些行業還可以?