Spark生態頂級項目匯總
現在 Apache Spark 已形成一個豐富的生態系統,包括官方的和第三方開發的組件或工具。后面主要給出 5 個使用廣泛的第三方項目。
Spark 官方構建了一個非常緊湊的生態系統組件,提供各種處理能力。 下面是 Spark 官方給出的生態系統組件(引自 Spark 官方文檔)。
- Spark DataFrames:列式存儲的分布式數據組織,類似于關系型數據表。
- Spark SQL:可以執行 SQL 查詢,包括基本的 SQL 語法和 HiveQL 語法。讀取的數據源包括 Hive 表、Parquent 文件、JSON 數據、關系數據庫(MySQL 等)等。
- Spark Streaming:Spark Streaming 是 Spark 核心 API,易擴展、高吞吐量、流式數據容錯。
- MLlib:Spark 的機器學習庫,由常規的機器學習算法和基礎構成,包括但不限于分類算法、回歸算法、聚類算法、協調過濾算法、降維算法等。
- GraphX:Spark GraphX 是一個分布式圖處理框架,基于 Spark 平臺提供對圖計算和圖挖掘的接口,方便用戶對分布式圖處理的需求。
- Spark Core API:Spark 提供多種語言的 API,包括R、SQL、Python、Scala 和 Java。
除了上述官方的 Spark 組件外,還有些是在某種情形下必用的項目。以下只是簡單的列出這些重量級項目,而不涉及一些性能指標。
- 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 Cassandra Connector
Cassandra 是一個易擴展、高性能的數據庫。 Spark Cassandra Connector 現在是 Spark 和 Cassandra 表間直接交互的連接器,高度活躍的開源軟件。 Spark Cassandra Connector 庫讓你讀 Cassandra 表就如同 Spark RDD 一樣,同樣可以寫 Spark RDD 到 Cassandra 表,并可以在 Spark 程序中執行 CQL 語句。 -
Zepellin
Zepellin 是一個集成 IPythoon notebook 風格的 Spark 應用。Zepellin 可以基于 Spark 和 Scala,允許用戶很簡單直接的在他們的博客或者網站發布代碼執行的結果。
Zepellin 也支持其它語言插件,包括 Scala 和 Spark,Python 和 Spark,SparkSQL,HIve,Markdown 和 Shell。
-
Spark Job Server
Spark Job Server 提供 RESTful 接口來提交和管理 Spark jobs,jar 包和 job 上下文。Spark Job Server 提供 Spark 任務相關的運行健康信息。 - Alluxio
Alluxio 是一個分布式內存文件系統,它在減輕 Spark 內存壓力的同時,也賦予 Spark 內存快速讀寫海量數據的能力。Alluxio 以前叫做 Tachyon,即鎢絲。Spark jobs 可以不做任何改變即可運行在 Alluxio 上,并能得到極大的性能優化。Alluxio 宣稱:“百度使用 Alluxio 可以提高 30 倍多數據處理能力”。
來自: InfoQ
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!