Spark生态顶级项目汇总
2019獨角獸企業重金招聘Python工程師標準>>>
現在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語句。
ZepellinZepellin是一個集成IPythoon notebook風格的Spark應用。Zepellin可以基于Spark和Scala,允許用戶很簡單直接的在他們的博客或者網站發布代碼執行的結果。Zepellin也支持其它語言插件,包括Scala和Spark,Python和Spark,SparkSQL,HIve,Markdown和Shell。
Spark Job ServerSpark Job Server提供RESTful接口來提交和管理Spark jobs,jar包和job上下文。Spark Job Server提供Spark任務相關的運行健康信息。
Alluxio
Alluxio是一個分布式內存文件系統,它在減輕Spark內存壓力的同時,也賦予Spark內存快速讀寫海量數據的能力。Alluxio以前叫做Tachyon,即鎢絲。Spark jobs可以不做任何改變即可運行在Alluxio上,并能得到極大的性能優化。Alluxio宣稱:“百度使用Alluxio可以提高30倍多數據處理能力”。
轉載于:https://my.oschina.net/css1111/blog/632465
總結
以上是生活随笔為你收集整理的Spark生态顶级项目汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jClarity发布Censum 3.0
- 下一篇: 蓝桥杯 算法训练 最大的算式