Apache Spark
Apache Spark是一个开源集群运算框架,最初是由加州大学柏克莱分校AMPLab所开发。相对于Hadoop的MapReduce会在运行完工作后将中介数据存放到磁盘中,Spark使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。Spark在存储器内运行程序的运算速度能做到比Hadoop MapReduce的运算速度快上100倍,即便是运行程序于硬盘时,Spark也能快上10倍速度。[1]Spark允许用户将数据加载至集群存储器,并多次对其进行查询,非常适合用于机器学习算法。[2]
使用Spark需要搭配集群管理员和分布式存储系统。Spark支持独立模式(本地Spark集群)、Hadoop YARN或Apache Mesos的集群管理。[3] 在分布式存储方面,Spark可以和 Alluxio, HDFS[4]、 Cassandra[5] 、OpenStack Swift和Amazon S3等接口搭载。 Spark也支持伪分布式(pseudo-distributed)本地模式,不过通常只用于开发或测试时以本机文件系统取代分布式存储系统。在这样的情况下,Spark仅在一台机器上使用每个CPU核心运行程序。
在2014年有超过465位贡献家投入Spark开发[6],让其成为Apache软件基金会以及大数据众多开源项目中最为活跃的项目。
开发者 | Apache软件基金会, 加州大学柏克莱分校AMPLab, Databricks |
---|---|
稳定版本 | 2.4.3
(2019年5月8日)
|
源代码库 | |
编程语言 | Scala, Java, Python |
操作系统 | Linux, Mac OS, Microsoft Windows |
类型 | 数据分析, 机器学习算法 |
许可协议 | Apache许可协议 2.0 |
网站 | spark.apache.org |