摘要:大數(shù)據(jù)概念是年由首席科學(xué)家在大會上提出的。但大數(shù)據(jù)真正得到業(yè)界關(guān)注,則是其后多年的事情了。其中大數(shù)據(jù)最重要的發(fā)酵素則是年發(fā)布的和三篇論文。揭示大數(shù)據(jù)未來發(fā)展的趨勢就是人工智能。
大數(shù)據(jù)(Big Data)概念是1998年由SGI首席科學(xué)家John Masey在USENIX大會上提出的。他當(dāng)時發(fā)表了一篇名為Big Data and the Next Wave of Infrastress的論文,使用了大數(shù)據(jù)來描述數(shù)據(jù)爆炸的現(xiàn)象。但大數(shù)據(jù)真正得到業(yè)界關(guān)注,則是其后多年的事情了。其中大數(shù)據(jù)最重要的發(fā)酵素則是2003-2006年Google發(fā)布的GFS、MapReduce和BigTable三篇論文。
大數(shù)據(jù)是指海量數(shù)據(jù)或巨量數(shù)據(jù),其規(guī)模巨大到無法通過目前主流的計算機系統(tǒng)在合理時間內(nèi)獲取、存儲、管理、處理并提煉以幫助使用者決策。
大數(shù)據(jù)的4V特征,即Variety(多樣化)、Volume(大量化)、Velocity(快速化)、Value(價值密度低)。如下圖所示。其中,Variety表示來源多和格式多,數(shù)據(jù)可以來源于搜索引擎、社交網(wǎng)絡(luò)、通話記錄、傳感器等等,這些數(shù)據(jù)要么以結(jié)構(gòu)化形式存儲,要么以非結(jié)構(gòu)化數(shù)據(jù)存儲;Volume表示數(shù)據(jù)量比較大,從TB級別,躍升到PB級別。尤其是在移動互聯(lián)時代,視頻、語言等非結(jié)構(gòu)化數(shù)據(jù)快速增長;Velocity表示數(shù)據(jù)存在時效性,需要快速處理,并得到結(jié)果出來,這一點也是和傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)有著本質(zhì)的區(qū)別;Value表示大量不相關(guān)信息,不經(jīng)過處理則價值較低,屬于價值密度低的數(shù)據(jù)。
大數(shù)據(jù)處理流程一般的大數(shù)據(jù)處理流程都有以下幾個過程:數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)展現(xiàn)。如下圖所示。
在大數(shù)據(jù)時代,由于數(shù)據(jù)種類多,數(shù)據(jù)大,從結(jié)構(gòu)化的數(shù)據(jù)到非結(jié)構(gòu)化的數(shù)據(jù),數(shù)據(jù)采集的形式也變得更加復(fù)雜而多樣。
當(dāng)存儲技術(shù)的發(fā)展變得步履蹣跚,趕不上數(shù)據(jù)發(fā)展的速度時,分布式存儲成為了必然選擇,非結(jié)構(gòu)型數(shù)據(jù)也對存儲格式提出了新的要求。層出不窮的數(shù)據(jù)源也使得數(shù)據(jù)量產(chǎn)生了井噴似的迅猛增長。此時分布式存儲與NoSQL的誕生回應(yīng)了這樣的需求,解決了大數(shù)據(jù)存儲的根本難題。
數(shù)據(jù)處理包括數(shù)據(jù)計算、分析,這部分是大數(shù)據(jù)技術(shù)的核心,本文剩余部分將詳細(xì)介紹這部分。數(shù)據(jù)展示指的是通過提供報表等可視化界面反應(yīng)目前平臺或業(yè)務(wù)運行的各項指標(biāo)。
大數(shù)據(jù)的演進提到大數(shù)據(jù)技術(shù),最基礎(chǔ)和核心的仍是大數(shù)據(jù)的分析和計算。在2017年,大數(shù)據(jù)分析和計算技術(shù)仍舊在飛速的發(fā)展,無論老勢力Hadoop還是當(dāng)紅小生Spark,亦或是人工智能,都在繼續(xù)自己的發(fā)展和迭代。
目前絕大部分傳統(tǒng)數(shù)據(jù)計算和數(shù)據(jù)分析服務(wù)均是基于批量數(shù)據(jù)處理模型:使用ETL系統(tǒng)或OLTP系統(tǒng)進行構(gòu)造數(shù)據(jù)存儲,在線的數(shù)據(jù)服務(wù)通過構(gòu)造SQL語言訪問上述數(shù)據(jù)存儲并取得分析結(jié)果。這套數(shù)據(jù)處理的方法伴隨著關(guān)系型數(shù)據(jù)庫在工業(yè)界的演進而被廣泛采用。但在大數(shù)據(jù)時代下,伴隨著越來越多的人類活動被信息化、進而數(shù)據(jù)化,越來越多的數(shù)據(jù)處理要求被實時化、流式化。Andrew NG揭示大數(shù)據(jù)未來發(fā)展的趨勢就是人工智能。下面將對批量計算、流式計算以及人工智能進行詳細(xì)介紹,其中人工智能部分將在下一期中介紹。
批量計算傳統(tǒng)的批量數(shù)據(jù)處理模型通?;谌缦绿幚砟P停?/p>
1. 使用ETL系統(tǒng)或者OLTP系統(tǒng)構(gòu)造原始的數(shù)據(jù)存儲,以提供后續(xù)的數(shù)據(jù)服務(wù)進行數(shù)據(jù)分析和數(shù)據(jù)計算。如下圖所示,用戶裝載數(shù)據(jù),系統(tǒng)根據(jù)自己的存儲和計算情況,對于裝載的數(shù)據(jù)進行索引構(gòu)建等一些列查詢優(yōu)化工作。因此,對于批量計算,數(shù)據(jù)一定需要加載到計算機系統(tǒng),后續(xù)計算系統(tǒng)才在數(shù)據(jù)加載完成后方能進行計算。
2. 用戶或系統(tǒng)主動發(fā)起一個計算作用并向上述數(shù)據(jù)系統(tǒng)進行請求。此時計算系統(tǒng)開始調(diào)度(啟動)計算節(jié)點進行大量數(shù)據(jù)計算,該過程的計算量可能巨大,耗時長達數(shù)分鐘乃至數(shù)小時。同時,由于數(shù)據(jù)累計的不可及時性,上述計算過程的數(shù)據(jù)一定是歷史數(shù)據(jù),無法保證數(shù)據(jù)的實時性。
3. 計算結(jié)果返回,計算作業(yè)完成后將數(shù)據(jù)以結(jié)果集形式返回用戶,或者可能由于計算結(jié)果數(shù)量巨大保存著數(shù)據(jù)計算系統(tǒng)中,用戶進行再次數(shù)據(jù)集成到其他系統(tǒng)。一旦數(shù)據(jù)結(jié)果巨大,整體的數(shù)據(jù)集成過程漫長,耗時可能長達數(shù)分鐘乃至數(shù)小時。
典型代表:Hadoop
Hadoop是Apache的一個開源項目,是可以提供開源、可靠、可擴展的分布式計算工具。它主要包括HDFS和MapReduce兩個組件,分別用于解決大數(shù)據(jù)的存儲和計算。
HDFS是獨立的分布式文件系統(tǒng),為MapReduce計算框架提供存儲服務(wù),具有較高的容錯性和高可用性,基于塊存儲以流數(shù)據(jù)模式進行訪問,數(shù)據(jù)節(jié)點之間項目備份。默認(rèn)存儲塊大小為64M,用戶也可以自定義大小。
HDFS是基于主從結(jié)構(gòu)的分布式文件系統(tǒng),結(jié)構(gòu)上包括NameNode目錄管理、DataNode的數(shù)據(jù)存儲和Client的訪問客戶端3部分。NameNode主要負(fù)責(zé)系統(tǒng)的命名空間、集群的配置管理以及存儲塊的復(fù)制;DataNode是分布式文件系統(tǒng)存儲的基本單元;Client為分布式文件系統(tǒng)的應(yīng)用程序。體系結(jié)構(gòu)如下圖所示。
如上圖所示,NameNode通過主從模式實現(xiàn)高可用性,但是在以前的版本,Standby只能是一個主機。為了實現(xiàn)更高的可靠性,在Hadoop3.0中可以配置超過一個的Standby的NameNode,從而保證更高的可靠型。對于數(shù)據(jù)存儲,HDFS采用的是多副本的方式來存儲數(shù)據(jù),即Client將數(shù)據(jù)首先通過NameNode獲取數(shù)據(jù)將要存儲在哪些DataNode上,之后這些存儲到最新數(shù)據(jù)的DataNode將變更數(shù)據(jù)以同步或異步方式同步到其他DataNode上。但是這幾年數(shù)據(jù)規(guī)模的增加遠(yuǎn)遠(yuǎn)大于人的想象,而這些產(chǎn)生的數(shù)據(jù),必然會存在冷熱數(shù)據(jù)的區(qū)分。無論冷熱,數(shù)據(jù)對于一個公司都是核心資產(chǎn),誰都不想數(shù)據(jù)丟失。可是對于冷數(shù)據(jù),如果采用多副本方式,會浪費大量的存儲空間。在Hadoop3.0之后,采用Erasure Coding可以大大的降低數(shù)據(jù)存儲空間的占用。對于冷數(shù)據(jù),可以采用EC來保存,這樣才能降低存儲數(shù)據(jù)的花銷,而需要時,還可以通過CPU計算來讀取這些數(shù)。
MapReduce是一種分布式計算框架,適用于離線大數(shù)據(jù)計算。采用函數(shù)式編程模式,利用Map和Reduce函數(shù)來實現(xiàn)復(fù)雜的并行計算,主要功能是對一個任務(wù)進行分解,以及對結(jié)果進行綜合匯總。其中,Map的主要功能是把一個作業(yè)任務(wù)分解成多個子任務(wù),然后發(fā)送到對應(yīng)的節(jié)點服務(wù)器中,接著進行并行計算。Reduce的主要功能把并行計算得到的結(jié)果進行歸并后得到的結(jié)果返回到中央服務(wù)器。
具體來說,MapReduce是將那些沒有經(jīng)過處理的海量數(shù)據(jù)進行數(shù)據(jù)分片,即分解成多個小數(shù)據(jù)集;每個Map并行地處理每一個數(shù)據(jù)集中的數(shù)據(jù),然后將結(jié)果存儲為
不同于批量計算模型,流式計算更加強調(diào)計算數(shù)據(jù)流和低時延,流式計算數(shù)據(jù)處理模型如下:
1. 使用實時集成工具,將數(shù)據(jù)實時變化傳輸?shù)搅魇綌?shù)據(jù)存儲(即消息隊列,如RabbitMQ);此時數(shù)據(jù)的傳輸編程實時化,將長時間累積大量的數(shù)據(jù)平攤到每個時間點不停地小批量實時傳輸,因此數(shù)據(jù)集成的時延得以保證。
2. 數(shù)據(jù)計算環(huán)節(jié)在流式和批量處理模型差距更大,由于數(shù)據(jù)集成從累計變成實時,不同于批量計算等待數(shù)據(jù)集成全部就緒后才啟動計算作業(yè),流式計算作業(yè)是一種常駐計算服務(wù),一旦啟動將一直處于等待事件觸發(fā)的狀態(tài),一旦小批量數(shù)據(jù)進入流式數(shù)據(jù)存儲,流計算立刻計算并迅速得到結(jié)果。
3. 不同于批量計算結(jié)果數(shù)據(jù)需要等待數(shù)據(jù)計算結(jié)果完成后,批量將數(shù)據(jù)傳輸?shù)皆诰€系統(tǒng);流式計算作業(yè)在每次小批量數(shù)據(jù)計算后可以立刻將數(shù)據(jù)寫入在線系統(tǒng),無需等待整個數(shù)據(jù)的計算結(jié)果,可以立刻將數(shù)據(jù)結(jié)果投遞到在線系統(tǒng),進一步做到實時計算結(jié)果的實時化展現(xiàn)。
典型代表:Spark
Spark是一個快速且通用的集群計算平臺。它包含Spark Core、Spark SQL、Spark Streaming、MLlib以及Graphx組件。如下圖所示。Spark Core
Spark SQL是處理結(jié)構(gòu)化數(shù)據(jù)的庫,它支持通過SQL查詢數(shù)據(jù)。Spark Streming是實時數(shù)據(jù)流處理組件。MLlib是一個包含通用機器學(xué)習(xí)的包。GraphX是處理圖的庫,并進行圖的并行計算一樣。
Spark提出了彈性分布式數(shù)據(jù)集的概念(Resilient Distributed Dataset),簡稱RDD,每個RDD都被分為多個分區(qū),這些分區(qū)運行在集群的不同節(jié)點上。一般數(shù)據(jù)操作分為3個步驟:創(chuàng)建RDD、轉(zhuǎn)換已有的RDD以及調(diào)用RDD操作進行求值。
在Spark中,計算建模為有向無環(huán)圖(DAG),其中每個頂點表示彈性分布式數(shù)據(jù)集(RDD),每個邊表示RDD的操作。RDD是劃分為各(內(nèi)存中或者交換到磁盤上)分區(qū)的對象集合。在DAG上,從頂點A到頂點B的邊緣E意味著RDD B是RDD A上執(zhí)行操作E的結(jié)果。有兩種操作:轉(zhuǎn)換和動作。轉(zhuǎn)換(例如;映射、過濾器、連接)對RDD執(zhí)行操作并產(chǎn)生新的RDD。
下面介紹下Spark與Hadoop的區(qū)別:
相較于Hadoop,Spark更快,平均處理速度是Hadoop的10倍到100倍。因為Spark的數(shù)據(jù)處理工作在內(nèi)存中進行,只在一開始將數(shù)據(jù)讀入內(nèi)存,以及將最終結(jié)果持久存儲時需要與存儲層交互。所有中間態(tài)的數(shù)據(jù)結(jié)果均存儲在內(nèi)存中。雖然內(nèi)存中處理方式可大幅改善性能,Spark在處理與磁盤有關(guān)的任務(wù)時速度也有很大提升,因為通過提前對整個任務(wù)集進行分析可以實現(xiàn)更完善的整體式優(yōu)化。特別是在頻繁迭代的場景下,Hadoop需要對每個迭代之間的數(shù)據(jù)寫回磁盤,這樣就引入了大量的磁盤I/O,那么整個系統(tǒng)性能就比較低下。
Spark并沒有像Hadoop的HDFS的分布式文件系統(tǒng),但是具有更強的適應(yīng)能力,即可以通過HDFS獲取數(shù)據(jù),也可以通過Cassandra獲取數(shù)據(jù)。
Hadoop在設(shè)計之初更強調(diào)批處理;而Spark支持流處理、機器學(xué)習(xí),因此它能解決的問題更多。
針對方向不同。Hadoop本質(zhì)是一個分布式數(shù)據(jù)的基礎(chǔ);Spark是一個數(shù)據(jù)處理工具。
總結(jié)本文主要介紹了大數(shù)據(jù)的定義、特征、大數(shù)據(jù)的一般流程,并且著重介紹了大數(shù)據(jù)技術(shù)演進過程中的前兩步(批量計算和流計算)。對于批量計算,介紹了Hadoop的HDFS和MapReduce的重要思想。同時,針對頻繁迭代計算場景下,由于Hadoop需要頻繁的進行I/O操作降低了系統(tǒng)性能。人們發(fā)明了Spark,它在一般情況下將數(shù)據(jù)存儲在內(nèi)存中,此外,提出了RDD和DAG思想,有效的管理數(shù)據(jù)。下一期我們將詳細(xì)介紹大數(shù)據(jù)技術(shù)演進過程中的第3步:人工智能。
歡迎關(guān)注微信公眾號:木可大大,所有文章都將同步在公眾號上。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19748.html
摘要:云計算是什么大數(shù)據(jù)是什么云計算和大數(shù)據(jù)有什么區(qū)別云計算和大數(shù)據(jù)關(guān)聯(lián)又是什么估計很多人都不是很清楚這兩者到底代表什么。云計算和大數(shù)據(jù)的關(guān)系云計算是基礎(chǔ),沒有云計算,無法實現(xiàn)大數(shù)據(jù)存儲與計算。云計算是什么?大數(shù)據(jù)是什么?云計算和大數(shù)據(jù)有什么區(qū)別?云計算和大數(shù)據(jù)關(guān)聯(lián)又是什么?估計很多人都不是很清楚這兩者到底代表什么。如果要了解云計算和大數(shù)據(jù)的意思和關(guān)系,那我們就要先對這兩個詞進行了解,分別了解兩者...
摘要:昨日,發(fā)布調(diào)查報告稱大量的大中型公司希望在未來的兩年內(nèi)能夠用上機器學(xué)習(xí)。在這些組織中,認(rèn)為大數(shù)據(jù)分析是保持競爭的必需品,期望在未來的兩年內(nèi)在大數(shù)據(jù)分析中用上機器學(xué)習(xí)。對使用大數(shù)據(jù)的人來說,大數(shù)據(jù)能成為大商業(yè)。 昨日,SoftServe 發(fā)布調(diào)查報告稱大量的大中型公司希望在未來的兩年內(nèi)能夠用上機器學(xué)習(xí)。SoftServe 是全球領(lǐng)先的技術(shù)解決方案提供商,昨日發(fā)布了自己的 Big Data Sn...
摘要:大數(shù)據(jù)的應(yīng)用開發(fā)過于偏向底層,具有學(xué)習(xí)難度大,涉及技術(shù)面廣的問題,這制約了大數(shù)據(jù)的普及。傳統(tǒng)公司通過使用,可以輕松的跨越大數(shù)據(jù)的技術(shù)鴻溝,實現(xiàn)搜索引擎級的大數(shù)據(jù)平臺性能。 大數(shù)據(jù)的應(yīng)用開發(fā)過于偏向底層,具有學(xué)習(xí)難度大,涉及技術(shù)面廣的問題,這制約了大數(shù)據(jù)的普及?,F(xiàn)在需要一種技術(shù),把大數(shù)據(jù)開發(fā)中一些通用的,重復(fù)使用的基礎(chǔ)代碼、算法封裝為類庫,降低大數(shù)據(jù)的學(xué)習(xí)門檻,降低開發(fā)難度,提高大數(shù)據(jù)項...
摘要:金融行業(yè)的云計算及大數(shù)據(jù)安全規(guī)則如何確立未來金融行業(yè)開放策略。醫(yī)療行業(yè)云平臺和大數(shù)據(jù)催生互聯(lián)網(wǎng)健康產(chǎn)業(yè)。房地產(chǎn)行業(yè)大數(shù)據(jù)人才缺乏。房地產(chǎn)行業(yè)對大數(shù)據(jù)應(yīng)用比較晚,但是空間廣闊。 看起來很美很熱鬧的云計算大數(shù)據(jù),在具體落地時卻不得不面對一系列這樣的現(xiàn)實問題。正如中國電子學(xué)會副秘書長林潤華所言:產(chǎn)業(yè)界確實認(rèn)為這是大的發(fā)展方向,也是非常好的轉(zhuǎn)型機會,但是用戶還抱著非常審慎的態(tài)度。金模網(wǎng)CEO羅百輝認(rèn)...
閱讀 1584·2021-11-25 09:43
閱讀 2488·2019-08-30 15:54
閱讀 2952·2019-08-30 15:53
閱讀 1102·2019-08-30 15:53
閱讀 757·2019-08-30 15:52
閱讀 2549·2019-08-26 13:36
閱讀 820·2019-08-26 12:16
閱讀 1220·2019-08-26 12:13