11.1 Spark组件综合应用
Apache Spark生态系统的外部软件项目,Spark第三方项目组件的综合应用如下。
1.spark-packages.org
spark-packages.org是一个外部社区管理的第三方库,是附加组件和与Apache Spark一起使用的应用程序的列表。只要有一个GitHub仓库,就可以添加一个包。
2.基础项目
Spark Job Server:用于在同一个群集上管理和提交Spark作业的REST接口。
SparkR:Spark的R前端。
MLbase:Spark机器学习研究项目。
Apache Mesos:支持运行Spark的群集管理系统。
Alluxio(Tachyon):支持运行Spark的内存速度虚拟分布式存储系统。
Spark Cassandra连接器:轻松将Cassandra数据加载到Spark和Spark SQL中;来自Datastax。
FiloDB:一个Spark集成分析及列数据库,基于内存能够进行亚秒级并发查询。
ElasticSearch:Spark SQL集成。
Spark-Scalding:轻松过渡Cascading/Scalding代码到Spark。
Zeppelin:类似于IPython,还有ISPark和Spark Notebook。
IBM Spectrum Spark:集群管理软件与Spark集成。
EclairJS:使Node.js开发人员可以对Spark进行编码,数据科学家可以在Jupyter中使用Javascript。
SnappyData:与同一个JVM集成的开源OLTP + OLAP数据库。
GeoSpark:地理空间RDD和连接。
Spark Cluster:部署OpenStack工具。
3.使用Spark的应用程序
Apache Mahout:以前运行在Hadoop MapReduce上,Mahout已经转向使用Spark作为后端。
Apache MRQL:用于大规模,分布式数据分析的查询处理和优化系统,构建在Apache Hadoop、Hama和Spark上。
BlinkDB:一个大规模并行的大致查询引擎,建立在Shark和Spark上。
Spindle:基于Spark / Parquet的网络分析查询引擎。
Spark Spatial:Spark的空间连接和处理。
Thunderain:是一个使用Spark和Shark的实时分析处理实例。
DF from Ayasdi:类似Pandas的数据框架实现。
Oryx:Apache Spark上的Oryx Lambda架构,Apache Kafka用于实时大规模机器学习。
ADAM:使用Apache Spark加载,转换和分析基因组数据的框架和CLI。
4.附加语言绑定
C#/ .NET: Spark的C# API接口。
Clojure:Spark的Clojure API接口。
Groovy:Groovy REPL支持Spark。