Spark生態頂級項目匯總

jopen 8年前發布 | 7K 次閱讀 Spark

現在 Apache Spark 已形成一個豐富的生態系統,包括官方的和第三方開發的組件或工具。后面主要給出 5 個使用廣泛的第三方項目。

Spark 官方構建了一個非常緊湊的生態系統組件,提供各種處理能力。 下面是 Spark 官方給出的生態系統組件(引自 Spark 官方文檔)。
Spark生態頂級項目匯總

  1. Spark DataFrames:列式存儲的分布式數據組織,類似于關系型數據表。
  2. Spark SQL:可以執行 SQL 查詢,包括基本的 SQL 語法和 HiveQL 語法。讀取的數據源包括 Hive 表、Parquent 文件、JSON 數據、關系數據庫(MySQL 等)等。
  3. Spark Streaming:Spark Streaming 是 Spark 核心 API,易擴展、高吞吐量、流式數據容錯。
  4. MLlib:Spark 的機器學習庫,由常規的機器學習算法和基礎構成,包括但不限于分類算法、回歸算法、聚類算法、協調過濾算法、降維算法等。
  5. GraphX:Spark GraphX 是一個分布式圖處理框架,基于 Spark 平臺提供對圖計算和圖挖掘的接口,方便用戶對分布式圖處理的需求。
  6. Spark Core API:Spark 提供多種語言的 API,包括R、SQL、Python、Scala 和 Java。

除了上述官方的 Spark 組件外,還有些是在某種情形下必用的項目。以下只是簡單的列出這些重量級項目,而不涉及一些性能指標。

  1. Mesos
    Mesos 是開源的資源統一管理和調度平臺。抽象物理機的 CPU、內存、存儲和計算資源,再由框架自身的調度器決定資源的使用者。
    Mesos 是 Master/Slave 結構,由 Mesos-master,Mesos-slave,Framework 和 executor 四個組件構成。
    為什么官方選用 Mesos,而不是 Spark standalone 模式或者基于 Yarn 框架?由 Spark 開發者所寫的書《Learning Spark》:Mesos 優于其它兩個資源框架是因為 Mesos 的細粒度調度,這樣可讓多用戶運行 Spark shell 占有更少的 CPU。
    Spark生態頂級項目匯總
  2. Spark Cassandra Connector
    Cassandra 是一個易擴展、高性能的數據庫。 Spark Cassandra Connector 現在是 Spark 和 Cassandra 表間直接交互的連接器,高度活躍的開源軟件。 Spark Cassandra Connector 庫讓你讀 Cassandra 表就如同 Spark RDD 一樣,同樣可以寫 Spark RDD 到 Cassandra 表,并可以在 Spark 程序中執行 CQL 語句。
  3. Zepellin
    Zepellin 是一個集成 IPythoon notebook 風格的 Spark 應用。Zepellin 可以基于 Spark 和 Scala,允許用戶很簡單直接的在他們的博客或者網站發布代碼執行的結果。
    Zepellin 也支持其它語言插件,包括 Scala 和 Spark,Python 和 Spark,SparkSQL,HIve,Markdown 和 Shell。
    Spark生態頂級項目匯總

  4. Spark Job Server
    Spark Job Server 提供 RESTful 接口來提交和管理 Spark jobs,jar 包和 job 上下文。Spark Job Server 提供 Spark 任務相關的運行健康信息。

  5. Alluxio
    Alluxio 是一個分布式內存文件系統,它在減輕 Spark 內存壓力的同時,也賦予 Spark 內存快速讀寫海量數據的能力。Alluxio 以前叫做 Tachyon,即鎢絲。Spark jobs 可以不做任何改變即可運行在 Alluxio 上,并能得到極大的性能優化。Alluxio 宣稱:“百度使用 Alluxio 可以提高 30 倍多數據處理能力”。

來自: InfoQ

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!