Spark大数据商业实战三部曲:内核解密|商业案例|性能调优
上QQ阅读APP看书,第一时间看更新

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。