作者:Sundara Raghavan Sankaran
對于任何一個進入大數據世界的人來講,大數據和Hadoop 就成了同義詞。隨著人們學習了大數據生態(tài)系統(tǒng)及其工具和運作原理,他們更能理解大數據的實際意義以及Hadoop 在生態(tài)系統(tǒng)中所扮演的角色。
維基百科對大數據這樣解釋:大數據是一個寬泛的術語,它指傳統(tǒng)數據處理應用程序無法處理的巨大而復雜的數據集。
簡單來講,隨著數據量的增加,采用常規(guī)處理方法需要花費大量時間且價格不菲。
Doug Cutting受谷歌GFS及MapReduce白皮書的啟發(fā),在 2005年創(chuàng)辦了Hadoop 。Hadoop 采用開源軟件框架對超大數據集進行分布式存儲技術及分布式處理。換句話說,設計這一產品的目的在于縮減處理大數據集的時間和成本。
Hadoop,其分布式文件系統(tǒng)(HDFS)和分布式處理模塊(MapReduce)成為大數據計算的實際標準。Hadoop 這一術語不僅可以與基礎模塊相關,也與可兼容Hadoop的其他軟件包生態(tài)系統(tǒng)息息相關。
隨著時間的推移,生成的數據量猛增,處理大量數據的需求也隨之猛增。這最終使大數據計算需要滿足各種不同需求,而這些需求并非都可以全部由Hadoop 完成。
大多數數據分析本質上是迭代處理。盡管迭代處理可以由MapReduce完成,但數據讀取應該在每次迭代中進行。通常情況下,這并沒有問題。但如果讀取100GB的數據或幾個TB的數據時,就會費時,而人們會不耐煩
許多人認為數據分析是一門藝術而非一門科學。在任何藝術領域,藝術家創(chuàng)造一小塊部分拼圖,又將小拼圖將放到更大的拼圖上,見證它的生長。可以粗略的翻譯為:數據分析師想在下一個處理開始之前得到前一個處理的結果。換句話說,許多數據分析學在本質上都是交互式的。在傳統(tǒng)意義上,交互式分析習慣上受結構化查詢語言(SQL)的影響。分析師在數據庫中撰寫可在數據中運行的查詢條件。盡管Hadoop 也有同類產品(Hive和Pig),這原本也耗時,因為每個查詢條件需要大量時間處理數據。
這些障礙促使了Spark的誕生,這種新型處理模塊能促進迭代編程和交互式分析。Spark裝備了一個將數據載入存儲器并反復查詢的內存原始模型。這使Spark非常適合大量數據分析及機器學習算法。
注意,Spark僅僅規(guī)定了分布式處理模塊。存儲數據部分仍然依賴Hadoop(分布式文件系統(tǒng)HDFS)采用分布存儲方式高效存儲數據,而不由Spark完成
Spark 將大數據生態(tài)系統(tǒng)設置在超光速磁盤上,確保比MapReduce快10-100倍。許多人認為這可能是MapReduce的終結。
操作簡單
相比MapReduce來講,Spark操作簡單,甚至可以說非常便捷。即使對于一個簡單邏輯或算法,MapReduce也需要100行代碼;但使用Spark,一個簡單邏輯,幾行代碼就可以完成。這就引出了一個關鍵因素,叫做用途廣泛。許多對于MapReduce來講不可能完成的機器學習或圖表問題的高級算法,都可以由Spark完成。這讓Spark的采用率相當高。
MapReduce沒有交互模塊。盡管Hive和Pig包含命令行接口,這些系統(tǒng)的性能仍然依賴MapReduce。MapReduce對于批處理仍然十分受用。
Spark 在內存中處理數據,而MapReduce卻將處理后的數據傳送回磁盤。所以Spark將優(yōu)于MapReduce。
在2014年,Spark晉級Daytona GraySort測試并拔得頭籌。對于門外漢來說,DaytonaGraySort是測試系統(tǒng)檢索100TB(一萬億條記錄)數據速度的第三方評判基準。
Spark使用206個AWS EC2 設備,在23分鐘內將100TB的數據存儲到磁盤上。此前的最高記錄保持者是MapReduce,它使用了2100臺設備,總共花費了72分鐘。Spark在相同的條件下卻比MapReduce快了3倍,使用的設備總數也少了10倍。
Spark占用大量內存。如果我們運行Spark的同時運行其他占用內存的服務,其性能可能大打折扣。但是,我們可以有把握地說,Spark在迭代處理方面占上風(需要多次傳遞同一數據)。
成本
這兩者在計算能力、磁盤和網絡環(huán)境方面的硬件要求都十分相似。內存越大,Spark表現越好。這兩者都使用商品服務器。
MapReduce編程費力,市場上這方面的專家并不多。即便有為數不多的Spark專家,但這也僅僅是因為Spark是初創(chuàng)產品。所以學習Spark編程比MapReduce要容易的多。
脫離了Hadoop 的Spark
運行Spark其實并不需要Hadoop的支持。如果我們沒有從分布式文件系統(tǒng)(HDFS)中讀取數據,Spark也可以自行運行。Spark也可以從諸如S3, Cassandra等其他存儲中讀寫數據。在這種架構下,Spark可在獨立模式下運行,并不需要Hadoop 組件的支持。
產品使用
近期研究表明在產品中使用Spark的用戶激增。許多用戶同時運行Spark和Cassandra, 或者Spark和Hadoop ,又或者在Apche Mesos上運行Spark. 盡管Spark用戶數量有所增長,但并沒有在大數據社區(qū)造成恐慌。MapReduce使用率可能會下降,但具體降幅未知。
許多人預測Spark會促使另一種更優(yōu)質堆棧的發(fā)展。但這種新型堆??赡軙cHadoop 及其軟件包生態(tài)系統(tǒng)非常相似。
Spark的最大優(yōu)點是簡潔。但它并不會徹底消滅MapReduce,因為使用MapReduce依然大有人在。即便Spark成為大贏家,除非研發(fā)新分布式文件系統(tǒng),我們將同時使用Hadoop 和Spark處理數據。
- 閃存普惠,一步到位!華為商業(yè)市場極簡全閃數據中心Pro+重磅發(fā)布
- 《企業(yè)數據治理實踐白皮書》發(fā)布,啟信寶聯合六大數交所共同編制
- 業(yè)界首個!華為數據中心自動駕駛網絡通過EANTC L4自智網絡等級測評
- AI模型的耗電量驚人 下一步是建設太空數據中心?
- 為什么制造商必須協調IT和OT,才能實現智能工業(yè)的成功?
- 打造AI時代先進算力底座,鯤鵬開發(fā)者峰會2025即將開幕
- 金山辦公宣布未來五年戰(zhàn)略:重建海外基地,優(yōu)化WPS Office用戶體驗
- 是德科技攜KAI系列布局AI新時代
- 微軟全球再裁6000人:無關績效,關乎未來
- 華為發(fā)布AI數據湖解決方案,助力企業(yè)加速擁抱AI
免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。