Spark與Hadoop大資料深度解析

2023-02-09 01:51:02 字數 2541 閱讀 2475

對於任何乙個進入大資料世界的人來講,大資料和hadoop 就成了同義詞。隨著人們學習了大資料生態系統及其工具和運作原理,他們更能理解大資料的實際意義以及hadoop 在生態系統中所扮演的角色。

維基百科對大資料這樣解釋:大資料是乙個寬泛的術語,它指傳統資料處理應用程式無法處理的巨大而複雜的資料集。

簡單來講,隨著資料量的增加,採用常規處理方法需要花費大量時間且**不菲。

doug cutting受谷歌gfs及mapreduce***的啟發,在 2023年創辦了hadoop 。hadoop 採用開源軟體框架對超大資料集進行分布式儲存技術及分布式處理。換句話說,設計這一產品的目的在於縮減處理大資料集的時間和成本。

hadoop,其分布式檔案系統(hdfs)和分布式處理模組(mapreduce)成為大資料計算的實際標準。hadoop 這一術語不僅可以與基礎模組相關,也與可相容hadoop的其他軟體包生態系統息息相關。

隨著時間的推移,生成的資料量猛增,處理大量資料的需求也隨之猛增。這最終使大資料計算需要滿足各種不同需求,而這些需求並非都可以全部由hadoop 完成。

大多數資料分析本質上是迭代處理。儘管迭代處理可以由mapreduce完成,但資料讀取應該在每次迭代中進行。通常情況下,這並沒有問題。

但如果讀取100gb的資料或幾個tb的資料時,就會費時,而人們會不耐煩。

許多人認為資料分析是一門藝術而非一門科學。在任何藝術領域,藝術家創造一小塊部分拼圖,又將小拼圖將放到更大的拼圖上,見證它的生長。可以粗略的翻譯為:

資料分析師想在下乙個處理開始之前得到前乙個處理的結果。換句話說,許多資料分析學在本質上都是互動式的。在傳統意義上,互動式分析習慣上受結構化查詢語言(sql)的影響。

分析師在資料庫中撰寫可在資料中執行的查詢條件。儘管hadoop 也有同類產品(hive和pig),這原本也耗時,因為每個查詢條件需要大量時間處理資料。

這些障礙促使了spark的誕生,這種新型處理模組能促進迭代程式設計和互動式分析。spark裝備了乙個將資料載入儲存器並反覆查詢的記憶體原始模型。這使spark非常適合大量資料分析及機器學習演算法。

注意,spark僅僅規定了分布式處理模組。儲存資料部分仍然依賴hadoop(分布式檔案系統hdfs)採用分布儲存方式高效儲存資料,而不由spark完成。

spark 將大資料生態系統設定在超光速磁碟上,確保比mapreduce快10-100倍。許多人認為這可能是mapreduce的終結。

操作簡單

相比mapreduce來講,spark操作簡單,甚至可以說非常便捷。即使對於乙個簡單邏輯或演算法,mapreduce也需要100行**;但使用spark,乙個簡單邏輯,幾行**就可以完成。這就引出了乙個關鍵因素,叫做用途廣泛。

許多對於mapreduce來講不可能完成的機器學習或圖表問題的高階演算法,都可以由spark完成。這讓spark的採用率相當高。

mapreduce沒有互動模組。儘管hive和pig包含命令列介面,這些系統的效能仍然依賴mapreduce。mapreduce對於批處理仍然十分受用。

spark 在記憶體中處理資料,而mapreduce卻將處理後的資料傳送回磁碟。所以spark將優於mapreduce。

在2023年,spark晉級daytona graysort測試並拔得頭籌。對於門外漢來說,daytonagraysort是測試系統檢索100tb(一萬億條記錄)資料速度的第三方評判基準。

spark使用206個aws ec2 裝置,在23分鐘內將100tb的資料儲存到磁碟上。此前的最高記錄保持者是mapreduce,它使用了2100臺裝置,總共花費了72分鐘。spark在相同的條件下卻比mapreduce快了3倍,使用的裝置總數也少了10倍。

spark占用大量記憶體。如果我們執行spark的同時執行其他占用記憶體的服務,其效能可能大打折扣。但是,我們可以有把握地說,spark在迭代處理方面占上風(需要多次傳遞同一資料)。

成本這兩者在計算能力、磁碟和網路環境方面的硬體要求都十分相似。記憶體越大,spark表現越好。這兩者都使用商品伺服器。

mapreduce程式設計費力,市場上這方面的專家並不多。即便有為數不多的spark專家,但這也僅僅是因為spark是初創產品。所以學習spark程式設計比mapreduce要容易的多。

脫離了hadoop 的spark

執行spark其實並不需要hadoop的支援。如果我們沒有從分布式檔案系統(hdfs)中讀取資料,spark也可以自行執行。spark也可以從諸如s3, cassandra等其他儲存中讀寫資料。

在這種架構下,spark可在獨立模式下執行,並不需要hadoop 元件的支援。

產品使用

近期研究表明在產品中使用spark的使用者激增。許多使用者同時執行spark和cassandra, 或者spark和hadoop ,又或者在apchemesos上執行spark. 儘管spark使用者數量有所增長,但並沒有在大資料社群造成恐慌。

mapreduce使用率可能會下降,但具體降幅未知。

許多人**spark會促使另一種更優質堆疊的發展。但這種新型堆疊可能會與hadoop 及其軟體包生態系統非常相似。

spark的最大優點是簡潔。但它並不會徹底消滅mapreduce,因為使用mapreduce依然大有人在。即便spark成為大贏家,除非研發新分布式檔案系統,我們將同時使用hadoop 和spark處理資料。

LBS與大資料

這兩類資料,從分析上來說,第一類資料更接近於傳統的空間分析思想,最多就是時空分析,把時間序列加入到空間分析模型中。而第二類的資料分析更偏向於傳統的資料分析和資料探勘,有報表,有警報,但是如果不把空間的位置加入,無疑會漏掉很多的資訊。lbs的資料,是gis資料裡面最符合大資料思想分支了,屬於傳統gis...

駕馭大資料

龐大的資訊流現在有了新的約束規則。pb 級資料世界內發生了哪些變化?大資料將如何改變您的做事方式?海量的資訊充斥著 it 世界。這些資訊從全球 43 億部 和 20 億位網際網路使用者生成的資料中流出,與 300 億個 rfid 標記和數百顆人造衛星和每秒都在不斷傳送的更多訊號融合在一起。當然,沒有...

汽車大資料

汽車後市場未來的關鍵基於大資料 採訪張雲林是一段非常有趣的經歷。他的思維和反應都是極快的,在採訪過程中記者有時都跟不上他的節奏,而張雲林卻絲毫沒有注意到,在談起汽車後市場和目前即將正式面世的淘汽配資料庫,張雲林依舊侃侃而談。為何做汽車資料?所有人都要資料,但又不願意做 四川省伊愛車科技 以下簡稱 淘...