開源數據集如今深受開發者喜愛,比如谷歌的Images dataset數據集,YouTube-8M數據集等。通過對數據集里的數據進行分析,可以發現許多隱藏信息,比如客戶喜好、未知相關性,市場趨勢以及其他有用的商業信息。大數據分析對企業降低成本,準確掌握市場趨勢,更快完成產品迭代十分有用。說到大數據分析,16年基本被Spark與Hadoop霸屏,到底是什么樣的魔力讓它們足以引起大數據世界的波動,未來又會如何發展呢?
Apache Spark
Apache Spark起源于加州大學伯克利分校,對于復雜分析來說是一個十分不錯的開源處理引擎。Spark提供了一個全面、統一的框架用于管理各種有著不同性質(文本數據、圖表數據等)的數據集和數據源(批量數據或實時的流數據)的大數據處理的需求。每一個Spark應用程序,都由一個驅動程序組成,運行用戶的main函數,并且在一個集群上執行各種并行操作。
Spark提供的主要的抽象概念是具備容錯能力的彈性分布式數據集,一個覆蓋整個集群的只讀多重數據項集。彈性分布式數據集(RDD)幫助實現交互式算法,通過多次訪問數據集,實現交互式數據分析,應用延遲可以有不同程度上的減少,機器學習系統訓練算法的交互性是使用Apache Spark的初始動力。以下是對Apache Spark的分析,看看是哪些特性使Apache Spark如此火熱吧。
1、快速處理
大數據的處理速度至關重要,Apache Spark通過減少磁盤讀寫次數,降低磁盤I/O,使Hadoop集群上的應用程序操作比內存中快一百倍,比磁盤快十倍。
2、易用,支持多種語言
Spark允許使用Java,Sacla甚至Python進行快速編寫。開發人員不僅可以使用熟悉的編程語言也可以運行這些應用程序。Spark本身自帶了一個超過80個高階操作符集合。而且還可以用它在shell中以交互式地查詢數據。
3、支持復雜分析
除了Map和Reduce操作之外,Spark還支持SQL查詢,流數據,機器學習和圖表數據處理,此外,用戶可以把所有這些功能都放在一個工作流中使用也可以單獨使用。
4、實時流式處理
Apache Spark支持實時流式處理,它可以在進行數據操作的同時使用Spark Streaming。
5、與現有Hadoop及其上的數據整合
Spark可以在Hadoop Yarn集群管理器上獨立操作,包括讀取Hadoop上的數據。該特性使Spark十分適用于現有純Hadoop應用程序的遷移。
6、基于Hadoop的多核服務器
大部分企業逐漸從昂貴的大型機和數據倉庫平臺向基于Hadoop的多核服務器轉型。Hadoop是一個由java語言編寫而成的開源分布式系統基礎架構,其支持分布式環境中的大型數據集的存儲和處理操作。很多公司都將Hadoop作為其大數據平臺進行使用。
Hadoop
Hadoop是由Apache基金會所開發的分布式系統基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。
1、低成本的數據存儲
與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,Hadoop是開源的,項目的軟件成本因此會大大降低。
2、高效
Hadoop可以運行分析算法,因為它被設計用來處理各種形式的大數據。在Hadoop上進行數據分析可以使分析更高效,Hadoop能夠在節點之間動態地移動數據,并保證各個節點的動態平衡,因此處理速度非常快。
3、批量數據處理
Hadoop框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。HDFS是Hadoop的一大創舉,分布式存儲使文件存放在眾多節點上,只需要一個節點去記錄文件的元數據信息(主要是文件的位置),訪問文件時先訪問元數據節點,獲取文件所在的位置, 然后在獲取文件即可。此外,MapReduce也可以做大數據處理,即以價值為導向,對大數據加工、挖掘和優化等各種處理。其思想就是“分而治之”,將大任務分成若干小任務處理。
4、與數據倉庫相輔相成
有很多數據集被從數據倉庫卸到Hadoop平臺上,或者一些新的數據會直接到Hadoop中。企業無非就是希望有一個好的平臺來存儲、處理、分析數據,以支持可以被集成在不同級別的不同用例。
5、物聯網和Hadoop
據預測,未來20年物聯網對全球GDP的貢獻將會增長10到15萬億美元左右。物聯網的核心是流和大數據。Hadoop被用來進行多事務數據存儲,數據,統計算法和機器學習指出基于歷史數據分析得到未來趨勢的可能性。對過去進行分析是了解未來很好的一個途徑,通過預測分析,未來的物聯網世界將更加純粹。
未來怎么走?
技術的變革、更新換代,本身是好事,但很多時候,人才的培養跟不上技術變革的腳步。即便是最先進的學府可能都還未來得及更換教科書,這時對企業來說,新技術帶來的超高性價比就顯得毫無意義了,因為相應的人力成本在上升。
有些人很喜歡及時更新知識儲備,認為新技術的出現會取代舊技術。但各有各的好,新歡不一定敵得過舊愛,要看需求,別跟風。不過,越是Spark、Hadoop炒得火熱,理性思考的人就越少,很多人只是浮于表面,這對技術的發展十分不利。