1. 程式人生 > >三、spark簡介

三、spark簡介

彌補 hadoop ram 中間 http span get 同時 streaming

一、簡介

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簡介