天天看點

資料科學之——大資料體系

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,從以上的每個部分可以衍生出的應用,例如廣告精準投放、個性化推薦、使用者畫像等。

對應職位:資料工程師

建議:想進入大資料領域的朋友可以選一個與自己現有技術背景相比對的方向作為入門,然後将你的魔爪延伸到其他感興趣的方向,這是最快進入這個領域的一個方法。這裡所列的每一個方向都需要耗費大量的時間、腦力、體力,都是這個智能時代繼續發展的過程中不可或缺的一部分。

原文釋出時間為:2018-11-12

本文作者:Mars

本文來自雲栖社群合作夥伴“

Python愛好者社群

”,了解相關資訊可以關注“

”。

繼續閱讀