三、spark簡介
一、簡介
spark的官網:http://spark.apache.org/
spark解決了什麽問題?
我們都知道hadoop,hadoop以一個非常容易使用的編程模型解決了大數據的兩大難題:
1)分布式存儲hdfs;
2)分布式計算mapReduce;
但是hadoop也存在著一些問題,最主要的缺陷在於它的延遲比較嚴重,因為hadoop的mapReduce總是需要進行大量的I/O,即使是中間輸出結果也需要通過I/O來保存到HDFS中並再次讀取。如果是在大規模叠代的情況下hadoop的效率就更不忍直視了。
而spark的誕生彌補了mapreduce的問題,並迅速成為了Apache的頂級項目。
由於spark是基於內存計算的,極大地減少了計算過程的I/O操作,在大規模的叠代計算中它的計算速度是hadoop的100多倍。
spark的計算速度非常快,同時它支持scala、Python、Java以及R四種語言來編寫spark應用,更加的易於使用。
spark核心組件
如圖所示,spark主要包含了五塊內容,在spark core的基礎之上構建了4大組件
1、spark SQL:可以使用SQL來操作數據
文檔地址:http://spark.apache.org/docs/latest/sql-programming-guide.html
2、spark stream:做流式計算的組件
文檔地址:http://spark.apache.org/docs/latest/streaming-programming-guide.html
3、MLlib:spark用於數據挖掘的算法庫
文檔地址:http://spark.apache.org/docs/latest/ml-guide.html
4、graphx:用於圖計算的算法庫
文檔地址:http://spark.apache.org/docs/latest/graphx-programming-guide.html
三、spark簡介