Spark簡介 --大數據


一、Spark是什么?

快速且通用的集群計算平台

二、Spark的特點:

  1. 快速:Spark擴充流行的Mapreduce計算模型,是基於內存的計算
  2. 通用:Spark的設計容納了其它分布式系統擁有的功能,批處理、迭代式計算、交互查詢和流處理等,降低了維護成本
  3. 高度開放:Spark提供Python、Java、Scala、SQL的API和豐富的內置庫,Spark和其它的大數據工作整合得很好,包括hadoop、Kafka

三、Spark的組件

1、Spark Core

包含基本功能,包括任務調度、內存管理、容錯機制。內部定義了RDDS(彈性分布式數據集),提供了很多APIs來創建和操作這些RDDs。
應用場景:為其它組件提供底層的服務。

2、Spark SQL

Spark處理結構化數據的庫,像Hive SQL、MySQL一樣。
應用場景:企業中用來做報表統計

3、Spark Streaming

實時數據流處理組件,類似Storm。Spark Streaming提供API來操作實時流數據。
應用場景:企業中用來從Kafka接收數據做實時統計

4、MLlib

一個包含通用機器學習功能的包,Machine learning lib。包含分類、聚類、回歸等,還包括模型評估和數據導入。MLlib提供的上面這些方法,都支持集群上的橫向擴展。

5、Graphx

處理圖的庫(例如社交網絡圖),並進行圖的並行計算,像Spark Streaming,Spark SQL一樣,它繼承了RDD API。提供了各種圖的操作,和常用的圖算法,例如RangeRank算法
應用場景:圖計算

6、Cluster Manager

集群管理,Spark自帶一個集群管理是單獨調度器。常見的集群管理包括:Hadoop YARN、Apache Mesos

四、緊密集成的優點

Spark底層優化,基於Spark底層的組件,也得到相應的優化。緊密集成,節省了各個組件使用時的部署,測試時間。向Spark增加新的組件時,其它組件可立即享用新組件的功能。

五、Spark和Hadoop比較

Hadoop應用場景:離線處理、對及時性要求不高
Spark應用場景:時效性要求高、機器學習等領域


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM