精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

科普文:從大數據到Hadoop,Spark,Storm

責任編輯:editor005

2016-03-18 14:19:24

摘自:大講臺科技

大數據,官方定義是指那些數據量特別大、數據類別特別復雜的數據集,這種數據集無法用傳統的數據庫進行存儲,管理和處理。

大數據,官方定義是指那些數據量特別大、數據類別特別復雜的數據集,這種數據集無法用傳統的數據庫進行存儲,管理和處理。大數據的主要特點為數據量大(Volume),數據類別復雜(Variety),數據處理速度快(Velocity)和數據真實性高(Veracity),合起來被稱為4V。

大數據

大數據中的數據量非常巨大,達到了PB級別。而且這龐大的數據之中,不僅僅包括結構化數據(如數字、符號等數據),還包括非結構化數據(如文本、圖像、聲音、視頻等數據)。這使得大數據的存儲,管理和處理很難利用傳統的關系型數據庫去完成。在大數據之中,有價值的信息往往深藏其中。這就需要對大數據的處理速度要非常快,才能短時間之內就能從大量的復雜數據之中獲取到有價值的信息。在大數據的大量復雜的數據之中,通常不僅僅包含真實的數據,一些虛假的數據也混雜其中。這就需要在大數據的處理中將虛假的數據剔除,利用真實的數據來分析得出真實的結果。

大數據分析(Big Data Analysis)

大數據,表面上看就是大量復雜的數據,這些數據本身的價值并不高,但是對這些大量復雜的數據進行分析處理后,卻能從中提煉出很有價值的信息。對大數據的分析,主要分為五個方面:可視化分析(Analytic Visualization)、數據挖掘算法(Date Mining Algorithms)、預測性分析能力(Predictive Analytic Capabilities)、語義引擎(Semantic Engines)和數據質量管理(Data Quality Management)。

可視化分析是普通消費者常常可以見到的一種大數據分析結果的表現形式,比如說百度制作的“百度地圖春節人口遷徙大數據”就是典型的案例之一。可視化分析將大量復雜的數據自動轉化成直觀形象的圖表,使其能夠更加容易的被普通消費者所接受和理解。

數據挖掘算法是大數據分析的理論核心,其本質是一組根據算法事先定義好的數學公式,將收集到的數據作為參數變量帶入其中,從而能夠從大量復雜的數據中提取到有價值的信息。著名的“啤酒和尿布”的故事就是數據挖掘算法的經典案例。沃爾瑪通過對啤酒和尿布購買數據的分析,挖掘出以前未知的兩者間的聯系,并利用這種聯系,提升了商品的銷量。亞馬遜的推薦引擎和谷歌的廣告系統都大量使用了數據挖掘算法。

預測性分析能力是大數據分析最重要的應用領域。從大量復雜的數據中挖掘出規律,建立起科學的事件模型,通過將新的數據帶入模型,就可以預測未來的事件走向。預測性分析能力常常被應用在金融分析和科學研究領域,用于股票預測或氣象預測等。

語義引擎是機器學習的成果之一。過去,計算機對用戶輸入內容的理解僅僅停留在字符階段,不能很好的理解輸入內容的意思,因此常常不能準確的了解用戶的需求。通過對大量復雜的數據進行分析,讓計算機從中自我學習,可以使計算機能夠盡量精確的了解用戶輸入內容的意思,從而把握住用戶的需求,提供更好的用戶體驗。蘋果的Siri和谷歌的Google Now都采用了語義引擎。

數據質量管理是大數據在企業領域的重要應用。為了保證大數據分析結果的準確性,需要將大數據中不真實的數據剔除掉,保留最準確的數據。這就需要建立有效的數據質量管理系統,分析收集到的大量復雜的數據,挑選出真實有效的數據。

分布式計算(Distributed Computing)

對于如何處理大數據,計算機科學界有兩大方向:第一個方向是集中式計算,就是通過不斷增加處理器的數量來增強單個計算機的計算能力,從而提高處理數據的速度。第二個方向是分布式計算,就是把一組計算機通過網絡相互連接組成分散系統,然后將需要處理的大量數據分散成多個部分,交由分散系統內的計算機組同時計算,最后將這些計算結果合并得到最終的結果。盡管分散系統內的單個計算機的計算能力不強,但是由于每個計算機只計算一部分數據,而且是多臺計算機同時計算,所以就分散系統而言,處理數據的速度會遠高于單個計算機。

過去,分布式計算理論比較復雜,技術實現比較困難,因此在處理大數據方面,集中式計算一直是主流解決方案。IBM的大型機就是集中式計算的典型硬件,很多銀行和政府機構都用它處理大數據。不過,對于當時的互聯網公司來說,IBM的大型機的價格過于昂貴。因此,互聯網公司的把研究方向放在了可以使用在廉價計算機上的分布式計算上。

服務器集群(Server Cluster)

服務器集群是一種提升服務器整體計算能力的解決方案。它是由互相連接在一起的服務器群所組成的一個并行式或分布式系統。服務器集群中的服務器運行同一個計算任務。因此,從外部看,這群服務器表現為一臺虛擬的服務器,對外提供統一的服務。

盡管單臺服務器的運算能力有限,但是將成百上千的服務器組成服務器集群后,整個系統就具備了強大的運算能力,可以支持大數據分析的運算負荷。Google,Amazon,阿里巴巴的計算中心里的服務器集群都達到了5000臺服務器的規模。

大數據的技術基礎:MapReduce、Google File System和BigTable

2003年到2004年間,Google發表了MapReduce、GFS(Google File System)和BigTable三篇技術論文,提出了一套全新的分布式計算理論。

MapReduce是分布式計算框架,GFS(Google File System)是分布式文件系統,BigTable是基于Google File System的數據存儲系統,這三大組件組成了Google的分布式計算模型。

Google的分布式計算模型相比于傳統的分布式計算模型有三大優勢:首先,它簡化了傳統的分布式計算理論,降低了技術實現的難度,可以進行實際的應用。其次,它可以應用在廉價的計算設備上,只需增加計算設備的數量就可以提升整體的計算能力,應用成本十分低廉。最后,它被Google應用在Google的計算中心,取得了很好的效果,有了實際應用的證明。

后來,各家互聯網公司開始利用Google的分布式計算模型搭建自己的分布式計算系統,Google的這三篇論文也就成為了大數據時代的技術核心。

主流的三大分布式計算系統:Hadoop,Spark和Storm

由于Google沒有開源Google分布式計算模型的技術實現,所以其他互聯網公司只能根據Google三篇技術論文中的相關原理,搭建自己的分布式計算系統。

Yahoo的工程師Doug Cutting和Mike Cafarella在2005年合作開發了分布式計算系統Hadoop。后來,Hadoop被貢獻給了Apache基金會,成為了Apache基金會的開源項目。Doug Cutting也成為Apache基金會的主席,主持Hadoop的開發工作。

Hadoop采用MapReduce分布式計算框架,并根據GFS開發了HDFS分布式文件系統,根據BigTable開發了HBase數據存儲系統。盡管和Google內部使用的分布式計算系統原理相同,但是Hadoop在運算速度上依然達不到Google論文中的標準。

不過,Hadoop的開源特性使其成為分布式計算系統的事實上的國際標準。Yahoo,Facebook,Amazon以及國內的百度,阿里巴巴等眾多互聯網公司都以Hadoop為基礎搭建自己的分布式計算系統。

Spark也是Apache基金會的開源項目,它由加州大學伯克利分校的實驗室開發,是另外一種重要的分布式計算系統。它在Hadoop的基礎上進行了一些架構上的改良。Spark與Hadoop最大的不同點在于,Hadoop使用硬盤來存儲數據,而Spark使用內存來存儲數據,因此Spark可以提供超過Hadoop100倍的運算速度。但是,由于內存斷電后會丟失數據,Spark不能用于處理需要長期保存的數據。

Storm是Twitter主推的分布式計算系統,它由BackType團隊開發,是Apache基金會的孵化項目。它在Hadoop的基礎上提供了實時運算的特性,可以實時的處理大數據流。不同于Hadoop和Spark,Storm不進行數據的收集和存儲工作,它直接通過網絡實時的接受數據并且實時的處理數據,然后直接通過網絡實時的傳回結果。

Hadoop,Spark和Storm是目前最重要的三大分布式計算系統,Hadoop常用于離線的復雜的大數據處理,Spark常用于離線的快速的大數據處理,而Storm常用于在線的實時的大數據處理。

End.

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 乌鲁木齐市| 沧源| 云南省| 诏安县| 武强县| 修文县| 乌拉特后旗| 剑阁县| 历史| 刚察县| 东乌| 卢龙县| 广宗县| 岑巩县| 长兴县| 延川县| 漳浦县| 永昌县| 长治市| 新泰市| 钟山县| 白水县| 上虞市| 盘锦市| 宜兴市| 镇赉县| 呼和浩特市| 平果县| 江油市| 上杭县| 宁城县| 松桃| 田林县| 光泽县| 嘉义县| 郎溪县| 始兴县| 康定县| 岚皋县| 贵州省| 稻城县|