(二)Spark的核心模塊介紹


Spark其核心內置模塊,如圖所示:

資源調度器(Cluster Manager)

Spark 設計為可以高效地在一個計算節點到數千個計算節點之間伸縮計算。
為了實現這樣的要求,同時獲得最大靈活性,Spark 支持在各種集群管理器(Cluster Manager)上運行,目前 Spark 支持 3 種集群管理器:

  • Hadoop YARN (在國內使用最廣泛,推薦生產環境使用)
  • Apache Mesos (國內使用較少, 國外使用較多)
  • Standalone (Spark 自帶的資源調度器, 需要在集群中的每台節點上配置 Spark)【本地測試環境使用】
SparkCore

實現了 Spark 的基本功能,包含任務調度、內存管理、錯誤恢復、與存儲系統交互等模塊。SparkCore 中還包含了對彈性分布式數據集(Resilient Distributed DataSet,簡稱RDD)的API定義。

Spark SQL

是 Spark 用來操作結構化數據的程序包。通過SparkSql,我們可以使用 SQL或者Apache Hive 版本的 SQL 方言(HQL)來查詢數據。Spark SQL 支持多種數據源,比如 Hive 表、Parquet 以及 JSON 等。

Spark Streaming

是 Spark 提供的對實時數據進行流式計算的組件。提供了用來操作數據流的 API,並且與 Spark Core 中的 RDD API 高度對應。

Spark MLlib

提供常見的機器學習 (ML) 功能的程序庫。包括分類、回歸、聚類、協同過濾等,還提供了模型評估、數據導入等額外的支持功能。

Spark 得到了眾多大數據公司的支持,這些公司包括 Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、騰訊、京東、攜程、優酷土豆。
當前百度的 Spark 已應用於大搜索、直達號、百度大數據等業務;
阿里利用 GraphX 構建了大規模的圖計算和圖挖掘系統,實現了很多生產系統的推薦算法;
騰訊Spark集群達到9000+台的規模,是當前已知的世界上最大的Spark集群。


免責聲明!

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



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