當前位置:
首頁 > 最新 > 大數據平台簡介

大數據平台簡介

大數據的定義

最近互聯網發展迅猛,出現了形形色色的互聯網產品以滿足大家的娛樂、學習、社交、工作、衣食住行等需求。用戶在使用互聯網產品的過程中也高頻地貢獻著自己的行為數據,比如:網頁瀏覽記錄、商品查看歷史、新聞閱讀記錄等。通常來講這種數據具有四個特點:Volume(大量),即數據量特別大,有TB級的也有PB級的;Velocity(高速),即指數據產生的速度快;Variety(多樣),即數據來源多樣,有文本、視頻、照片、行為日誌、設備自動採集的數據等;Value(低價值密度),即大量數據中有價值的數據較少,或者需要大量數據才能提取出有價值的信息。就把這樣的數據叫做大數據。

大數據應用舉例

現在幾乎每個使用互聯網的人,都在享受大數據帶來的福利。如果你是普通網民,那麼可能已經使用過網購時的商品推薦、未來15天的天氣預測等;如果你是決策運營者,那麼企業BI統計、行業分析報告可能早就都用到了。

大數據的類型

大數據本身也分三六九等,有的量大價值低、有的量大價值高、有的量小价值高、有的量小价值小。其中,最常見的是量大價值低的數據。從數據的實時性來說,有離線數據和實時數據;從數據形態來說,有結構化的數據、非結構化數據、文本、圖片、音頻和視頻等。

涉及的技術

為從海量數據中挖掘出有用的信息,促使著大數據技術不斷迭代完善,譬如:存儲、計算、數據挖掘、機器學習、OLAP、數據採集、任務調度、資源調度等。

大數據平台

給人的第一印象,好像大數據也就是統計分析與機器學習的應用,但深入去思考,是什麼支撐著這兩者呢?沒錯,那就是大數據平台!那麼,大數據平台到底長什麼樣呢?回答這個問題,我們先從數據流的角度看看通用大數據平台架構的樣貌:

從數據的集成到存儲計算,最後到數據產品的輸出,形成一個閉環。這和商業模型是一樣的,如果能構建一個健康完美的商業生態閉環,那麼這個商業模型就是可持續的,越容易成功。同理,如果大數據閉環越完善,那麼表面明大數據在公司應用越好,大數據發揮的威力也越大。「工欲善其事,必先利其器」平台就是倉庫、演算法和分析的那把利器。

除了這種基於數據流的偏程序員思維平台劃分,其實還有偏學術的DIKW模型:

Data(數據):這一層主要解決原始數據、基礎工具的問題,比如:採集、存儲等;

Information(信息):通過對數據加工處理和組織,形成有意義的信息,比如:BI分析、OLAP分析;

Knowledge(知識):通過挖掘信息之間的關聯關係,使之能更好的傳遞給人類。這一層主要解決當下業務的問題,比如:推薦、預測;

Wisdom(智慧):當知識掌握的足夠多且有用,那麼就能形成智慧,有助於解決未來的問題,比如:企業決策、商業運營。

大數據崗位分工

在說崗位分工之前,先來總結一下大數據都有什麼工作要做:

集群管理:HDFS、yarn、mesos等系統的管理及優化;

中間件管理:kafka、zookeeper等系統的管理及優化;

數據集成:通常包含實時數據採集、離線數據同步等;

數據清洗:解決數據格式、完整性、正確性、屬性歸一等問題;

倉庫建設:根據不同的主題域建立的數據集合,通常包含實時表、維度表;

BI報表:這個很好理解,就是一些常用統計需求進行固化形成報表;

數據分析:基於OLAP系統和數據倉庫,挖掘出隱式信息。簡單來說就是一些數據需求和數據報告;

數據服務:提供數據的在線服務,把大數據和業務系統連接起來;

系統開發/二次開發:根據需要開發一些子系統,或者直接基於開源進行二次開發。

上面的信息肯定不全,但涵蓋了絕大部分大數據所需工作。基於此,假設要去建設一個大數據部門,我們可以把崗位分為:

數據開發:做數據清洗工作,還可以分為離線開發和實時開發;

倉庫開發:負責建設數據倉庫,可以和數據開發為同一個崗位;

BI報表開發:負責報表開發;

數據分析:一般來說處理一些臨時的數據需求和出數據報告,這個崗位需要有明銳的數據嗅覺;

演算法:這是一個很大的話題,不是我的專長不討論;

工程開發:根據需求開發一些子系統,或者對開源軟體做二次開發;

運維:集群管理、機器管理等。

大數據平台開發

當大數據業務發展到一定規模,你會發現直接使用開源的系統,雖然能解決問題,但是效率並不高,而且系統之間的功能比較零散。那麼,是時候規劃一個統一大數據平台了。這個平台是一個大數據IDE,涵蓋了:數據集成、任務調度、數據管理、OLAP、在線BI等核心功能。把工程開發、運維、大數據IED開發合在一起,形成了一個新的工種——平台開發,這個工種通常不涉及業務,只負責工具性質的系統開發。

把平台開發作為獨立工種來講是比較尷尬的。為什麼這麼說呢?假設某公司制定了大數據發展戰略並成立大數據組織,招了幾個大數據開發工程師,那麼這些工程師將負責集群搭建、日誌採集、數倉建設、最後還要寫頁面輸出BI報表。這種情況會出現在絕大部分剛啟動大數據的公司。由於這種不專人專用的情況,顯得平台開發這個工種比較尷尬。數倉工程師應該更加專註業務建模,而不是關注一些工程開發的事情,工程開發交給平台的同事。演算法應該關注特徵庫的建設,模型選擇及調優,別去關注如何把模型提供在線實時服務。

不要覺得會使用hive就會了數據倉庫、會數據分析這裡面的坑還多著呢。不要以為會使用Mahout、MLlib照著例子搞個協同過濾,上線個推薦系統,就會了機器學習,沒那麼簡單。

不過話說回來,平台開發對技能要求也是比較高的,不僅涉及技術面比較廣,而且在解決某些問題時還得有一定技術深度。從DIKW圖可以看出,平台開發的工作集中在最下面兩層,這也恰好反應了平台是起支撐作用。平台構建的好壞,會直接影響整個大數據業務的效率和平台使用成本。

結束

我會寫一系列大數據平台技術相關的文章,或許會給大家帶來大少許的思考,也或許能讓大家認識到大數據平台的重要性。

在接下來的文章都會基於Hadoop生態,從海量數據的存儲、離線計算、實時計算、數據集成、調度系統、數據查詢與集群管理等方向闡述相關原理與技術。

最後,我會根據對大數據平台的理解,提出兩種通用的平台架構方案供參考。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數碼Geek 的精彩文章:

擁有AI技術的OPPO R15,智能拍照到底如何?
OPPO R15評測:告訴你最全面的的綜合情況如何

TAG:數碼Geek |