spark 简介

本贴最后更新于 2100 天前,其中的信息可能已经天翻地覆

1.Spark 是什么

    Spark,是一个围绕速度、易用性和复杂分析构建的通用大数据计算框架,正如传统大数据技术 Hadoop 的 MapReduce、Hive 引擎,以及 Storm 流式实时计算引擎等。Spark 包含了大数据领域常见的各种计算框架:比如 Spark Core 用于离线计算,Spark SQL 用于交互式查询,Spark Streaming 用于实时流式计算,Spark MLlib 用于机器学习,Spark GraphX 用于图计算。

2.spark 体系结构

                imagepng

2.1 spark core

    Spark Core 是 spark 最核心的部分,包含了 Spark 最基本、最核心的功能,所有跟 RDD 有关的 API 都出自于 Spark Core。例如,任务调度、内存管理、故障恢复、和存储系统交互等。

2.2 spark sql

    Spark Sql 主要用于分布式结构化数据的 SQL 查询和分析,用户可以在 Spark 环境下用 SQL 语言处理数据。

2.3 spark streaming

    Spark Streaming 是 spark 体系中的一个流式处理框架,它通过将流数据按指定时间片累积为 RDD,然后将 RDD 进行批处理,进而实现大规模的流数据处理,严格意义上说 Spark Streaming 是一个准实时处理框架。

2.4 MLlib

    MLlib 是一个分布式机器学习库,在 Spark 平台上对一些常用的机器学习算法进行分布式实现,支持分类、回归、聚类、协同过滤、降维等等机器学习问题,同时还包括底层的优化原语和高层的管道 API。

2.5 GraphX

    GraphX 是一个分布式图处理框架,在 Spark 上实现了大规模图计算的功能,提供了对图计算和图挖掘的各种接口。

3.Spark 的特点

                

4.spark 版本变迁

2009:spark 诞生于 UCBerkeley 的 AMP 实验室。

2010:spark 正式对外开源。

2012-10-15:spark0.6.0 版本发布,进行了大范围的性能改进,增加了一些新特性,并对 standalone 部署模式进行了简化。

2013-02-07:spark0.6.2 版本发布,解决了一些 bug,并增强了系统的可用性。

2013-02-07:spark0.7.0 版本发布,增加了更多关键特性,例如,Python API,spark streaming 的 alpha 版本等。

2013-06-02:spark0.7.2 版本发布,性能改进并解决了一些 bug,新增 API 使用的例子。

2013-06-21:spark 接受进入 Apache 孵化器。

2013-07-16:spark0.7.3 版本发布,解决了一些 bug,更新 spark streaming API 等。

2013-09-25:spark0.8.0 版本发布,一些新功能及可用性改进。

2013-12-19:spark0.8.1 版本发布,支持 scala2.9、YARN2.2、Standalone 部署模式下调度的高可用性、shuffle 的优化等。

2014-02-02:spark0.9.0 版本发布,增加了 GraphX,机器学习新特性,流式计算新特性,核心引擎(外部聚合、加强对 YARN 的支持)等。

2014-04-09:spark0.9.1 版本发布,增强使用 YARN 的稳定性,改进 Scala 和 Python API 的奇偶性。

2014-05-30:spark1.0.0 版本发布,Spark SQL、MLlib、GraphX 和 Spark Streaming 都增加了新特性并进行了优化。Spark 核心引擎增加了对安全 YARN 集群的支持。

2014-07-11:spark1.0.1 版本发布,增加了 Spark SQL 的新特性和对 Json 数据的支持等。

2014-08-05:spark1.0.2 版本发布,Spark 核心 API 及 Streaming、Python、MLlib 的 bug 修复。

2014-09-11:spark1.1.0 版本发布。

2014-11-26:spark1.1.1 版本发布,Spark 核心 API 及 Streaming、Python、SQL、GraphX 和 MLlib 的 bug 修复。

2014-12-18:spark1.2.0 版本发布。

2015-02-09:spark1.2.1 版本发布,Spark 核心 API 及 Streaming、Python、SQL、GraphX 和 MLlib 的 bug 修复。

2015-03-13:spark1.3.0 版本发布。

2015-06-11:spark1.4.0 版本发布。

2015-07-15:spark1.4.1 版本发布,DataFrame API 及 streaming、Python、SQL 和 MLlib 的不过修复。

2015-09-07:spark 欧洲峰会议程公布,包括 Barclays, Netflix, Elsevier, Intel 等 38 个公司进行了会谈。

2015-09-09:Spark1.5.0 版本发布,这是 spark 有史以来最大的发布,有 230 名开发人员贡献超过 1400 次提交。

2015-10-02:spark1.5.1 版本发布,DataFrame API,Spark Streaming,PySpark,R,Spark SQL 和 MLlib 的 bug 修复。

2015-10-14:第二届 spark 峰会开放演讲资料提交,活动将于 2016 年 2 月 16 日至 18 日在纽约举行。

2015-11-09:spark1.5.2 版本发布,DataFrame API,Spark Streaming,PySpark,R,Spark SQL 和 MLlib 的 bug 修复。

2015-11-19:第二届 spark 峰会演讲资料提交即将结束,活动将于 2016 年 2 月 16 日至 18 日在纽约举行。

2016-01-04:spark1.6.0 版本发布,spark 社区持续增长,有 248 位 developers。

2016-01-14:spark summit east 议程公布,其中包括来自 Netflix,Comcast,Blackrock,Bloomberg 等组织的 60 场演讲。第二届年度 Spark Summit East 将于 2 月 16 日至 18 日在纽约举行,届时将有众多的演讲者以及 Spark 培训机会。

2016-03-09:spark1.6.1 版本发布,修复了一些 bug,更新 Dataset API。

2016-05-26:spark2.0 预览版发布,为 spark2.0 版本发布做准备。

2016-06-25:Spark1.6.2 版本发布。

2016-07-26:spark2.0.0 版本发布。

2016-10-03:spark2.0.1 版本发布。

2016-11-07:spark1.6.3 版本发布,多个 bug 修复。

2016-11-14:spark2.0.2 版本发布,多个 bug 修复,增加对 kafka0.10 的支持,新增 Structured Streaming。

2016-12-28:spark2.1.0 版本发布,这是 2.x 版本线的第二个发行版。

2017-05-02:spark2.1.1 版本发布。

2017-07-11:saprk2.2.0 版本发布,这也是 2.x 系列的第三个版本。此版本移除了 Structured Streaming 的实验标记,意味着已可以放心在线上使用,这个版本更注重可用性、稳定性和润色,解决了 1100 多个问题。同时,Pyspark 支持在 pypi 中使用。

2017-10-09:Spark2.1.2 版本发布。

2017-12-01:spark2.2.1 版本发布。

2018-02-28:spark2.3.0 版本发布,这也是 2.x 系列的第四个版本。这个版本增加了对 Structured Streaming 实时流处理的支持,以及一个全新的 Kubernetes 调度器后端,以及 PySpark 性能优化。

2018-06-08:spark2.3.1 版本发布。

2018-06-29:spark2.1.3 版本发布。

2018-07-02:spark2.2.2 版本发布。

2018-09-24:spark2.3.2 版本发布。

2018-11-02:spark2.4.0 版本发布。这也是 2.x 系列的第五个版本。该版本增加了 Barrier Execution Mode,以便更好地与深度学习框架集成,改进了 K8S 的集成,以及实验性的支持 scala2.12。其他主要更新包括内置 Avro 数据源、图像数据源、灵活的流式接收、消除传输期间 2GB 块大小限制、panda UDF 改进等。

更多 spark 版本变迁信息请移步官网:http://spark.apache.org/news/index.html

  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 552 关注

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...