对于一个具有相当技术门槛与复杂度的平台,Spark从诞生到正式版本的成熟,经历的时间如此之短,让人感到惊诧。2009年,Spark诞生于伯克利大学AMPLab,最开初属于伯克利大学的研究性项目。它于2010年正式开源,并于2013年成为了Aparch基金项目,并于2014年成为Aparch基金的顶级项目,整个过程不到五年时间。

下面点滴记录 Spark 的版本发展过程。

  • now
  • 2018-02-28,Spark 2.3.0发布
    • 这也是 2.x 系列中的第四个版本。此版本增加了对 Structured Streaming 中的 Continuous Processing 以及全新的 Kubernetes Scheduler 后端的支持。其他主要更新包括新的 DataSource 和 Structured Streaming v2 API,以及一些 PySpark 性能增强。此外,此版本继续针对项目的可用性、稳定性进行改进,并持续润色代码。
    • 具体参见:
      1. Apache Spark 2.3.0 正式发布
      2. Apache Spark 2.3.0 重要特性介绍
  • 2017-12-01,Spark 2.2.1发布
  • 2017-10-09,Spark 2.1.2发布
  • 2017-07-11,Spark 2.2.0发布
    • 这也是 2.x 系列的第三个版本。此版本移除了 Structured Streaming 的实验标记(experimental tag),意味着已可以放心在线上使用。
    • 该版本的主要更新内容主要针对的是系统的可用性、稳定性以及代码润色。包括:
      1. Core 和 Spark SQL 的 API 升级和性能、稳定性改进,比如支持从 Hive metastore 2.0/2.1 中读取数据;支持解析多行的 JSON 或 CSV 文件;移除对 Java 7 的支持;移除对 Hadoop 2.5 及更早版本的支持 等
      2. SparkR 针对现有的 Spark SQL 功能添加了更广泛的支持,比如 Structured Streaming 为 R 语言提供的 API ;R 语言支持完整的 Catalog API ;R 语言支持 DataFrame checkpointing 等
    • 具体参见:
      1. Apache Spark 2.2.0 正式发布
      2. Apache Spark 2.2.0 新特性详细介绍
  • 2017-05-02,Spark 2.1.1发布
  • 2016-12-28,Spark 2.1.0发布
    • 这是 2.x 版本线的第二个发行版。此发行版在为Structured Streaming进入生产环境做出了重大突破,Structured Streaming现在支持了event time watermarks了,并且支持Kafka 0.10。此外,此版本更侧重于可用性,稳定性和优雅(polish),并解决了1200多个tickets。
  • 2016-11-24,Spark 2.0.2发布
  • 2016-11-07,Spark 1.6.3发布
  • 2016-10-03,Spark 2.0.1发布
  • 2016-07-26,Spark 2.0.0发布
    • 该版本主要更新APIs,支持SQL 2003,支持R UDF ,增强其性能。300个开发者贡献了2500补丁程序。
  • 2016-06-25,Spark 1.6.2发布
  • 2016-03-09,Spark 1.6.1发布
  • 2016-01-04,Spark 1.6.0发布
    • 该版本含了超过1000个patches,在这里主要展示三个方面的主题:新的Dataset API,性能提升(读取Parquet 50%的性能提升,自动内存管理,streaming state management十倍的性能提升),以及大量新的机器学习和统计分析算法。
    • 在Spark1.3.0引入DataFrame,它可以提供high-level functions让Spark更好的处理数据结构和计算。这让Catalyst optimizer 和Tungsten execution engine自动加速大数据分析。发布DataFrame之后开发者收到了很多反馈,其中一个主要的是大家反映缺乏编译时类型安全。为了解决这个问题,Spark采用新的Dataset API (DataFrame API的类型扩展)。Dataset API扩展DataFrame API支持静态类型和运行已经存在的Scala或Java语言的用户自定义函数。对比传统的RDD API,Dataset API提供更好的内存管理,特别是在长任务中有更好的性能提升。
  • 2015-11-02,Spark 1.5.2发布
  • 2015-10-06,Spark 1.5.1发布
  • 2015-09-09,Spark 1.5.0发布
    • Spark 1.5.0是1.x线上的第6个发行版。这个版本共处理了来自230+contributors和80+机构的1400+个patches。
    • Spark 1.5的许多改变都是围绕在提升Spark的性能、可用性以及操作稳定性。
    • Spark 1.5.0焦点在Tungsten项目,它主要是通过对低层次的组建进行优化从而提升Spark的性能。
    • Spark 1.5版本为Streaming增加了operational特性,比如支持backpressure。另外比较重要的更新就是新增加了一些机器学习算法和工具,并扩展了Spark R的相关API。
  • 2015-07-15,Spark 1.4.1发布
    • DataFrame API及Streaming,Python,SQL和MLlib的bug修复
  • 2015-06-11,Spark 1.4.0发布
    • 该版本将 R API 引入 Spark,同时提升了 Spark 的核心引擎和 MLlib ,以及 Spark Streaming 的可用性。
  • 2015-03-13,Spark 1.3.0发布
    • 该版本发布的最大亮点是新引入的DataFrame API,对于结构型的DataSet,它提供了更方便更强大的操作运算。。除了DataFrame之外,还值得关注的一点是Spark SQL成为了正式版本,这意味着它将更加的稳定,更加的全面。
  • 2015-02-09,Spark 1.2.1发布
    • Spark核心API及Streaming,Python,SQL,GraphX和MLlib的bug修复
  • 2014-12-18,Spark 1.2.0发布
  • 2014-11-26,Spark 1.1.1发布
    • Spark核心API及Streaming,Python,SQL,GraphX和MLlib的bug修复
  • 2014-09-11,Spark 1.1.0发布
  • 2014-08-05,Spark 1.0.2发布
    • Spark核心API及Streaming,Python,MLlib的bug修复
  • 2014-07-11,Spark 1.0.1发布
    • 增加了Spark SQL的新特性和堆JSON数据的支持等
  • 2014-05-30,Spark 1.0.0发布
    • 增加了Spark SQL、MLlib、GraphX和Spark Streaming都增加了新特性并进行了优化。Spark核心引擎还增加了对安全YARN集群的支持
  • 2014-04-09,Spark 0.9.1发布
    • 增加使用YARN的稳定性,改进Scala和Python API的奇偶性
  • 2014-02-02,Spark 0.9.0发布
    • 增加了GraphX,机器学习新特性,流式计算新特性,核心引擎优化(外部聚合、加强对YARN的支持)等
  • 2013-12-19,Spark 0.8.1发布
    • 支持Scala 2.9,YARN 2.2,Standalone部署模式下调度的高可用性,shuffle的优化等
  • 2013-09-25,Spark 0.8.0发布
    • 一些新功能及可用性改进
  • 2013-07-16,Spark 0.7.3发布
    • 一些bug的解决,更新Spark Streaming API等
  • 2013-06-21,Spark接受进入Apache孵化器
  • 2013-06-02,Spark 0.7.2发布
  • 2013-02-27,Spark 0.7.0发布
    • 增加了更多关键特性,例如:Python API、Spark Streaming的alpha版本等
  • 2013-02-07,Spark 0.6.2发布
    • 解决了一些bug,并增强了系统的可用性
  • 2012-10-15,Spark 0.6.0发布
    • 大范围的性能改进,增加了一些新特性,并对Standalone部署模式进行了简化
  • 2010 ,Spark正式对外开源
  •  ,Spark诞生于UCBerkeley的AMP实验室

Spark的历史与发展(目录)的更多相关文章

  1. spark 累加历史 + 统计全部 + 行转列

    spark 累加历史主要用到了窗口函数,而进行全部统计,则需要用到rollup函数 1  应用场景: 1.我们需要统计用户的总使用时长(累加历史) 2.前台展现页面需要对多个维度进行查询,如:产品.地 ...

  2. OpenGL的版本号历史和发展

    来源请注明.本文永久地址为http://www.cnblogs.com/vertexshader/articles/2917540.html OpenGL®作为业界最为广泛使用的2D和3D图形接口标准 ...

  3. Java的历史及发展

    Java之父:詹姆斯·高斯林 (James Gosling) Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语 ...

  4. Spark 官方博文专区(目录)

    关于转载一些 Spark 官方的文档以及 DataBricks 公司博文,本系列基本是中英双语,主要是为了提高自己的英语水平. 文章分类 spark databricks A Tale of Thre ...

  5. Spark 精品文章转载(目录)

    学习 Spark 中,别人整理不错的文章,转载至本博客,方便自己学习,并按照不同的模块归档整理.每个文章作者能力不同,写文章所处的时间点不同,可能会略有差异,在阅读的同时,注意当时的文章的内容是否已经 ...

  6. 使用shell巧妙高效的批量删除历史文件或目录

    背景:有实时产生的数据按小时分文件保存,如“/data/2013/09/18/14.txt”.现需要保留30天的最新数据,而删除所有其它的历史数据.注意“保留30天的最新数据”,可能不是连续的30天, ...

  7. 掌握Spark机器学习库(课程目录)

    第1章 初识机器学习 在本章中将带领大家概要了解什么是机器学习.机器学习在当前有哪些典型应用.机器学习的核心思想.常用的框架有哪些,该如何进行选型等相关问题. 1-1 导学 1-2 机器学习概述 1- ...

  8. MapReduce Shuffle 和 Spark Shuffle 原理概述

    Shuffle简介 Shuffle的本意是洗牌.混洗的意思,把一组有规则的数据尽量打乱成无规则的数据.而在MapReduce中,Shuffle更像是洗牌的逆过程,指的是将map端的无规则输出按指定的规 ...

  9. Spark 安装部署与快速上手

    Spark 介绍 核心概念 Spark 是 UC Berkeley AMP lab 开发的一个集群计算的框架,类似于 Hadoop,但有很多的区别. 最大的优化是让计算任务的中间结果可以存储在内存中, ...

随机推荐

  1. hdu 3183 A Magic Lamp 【RMQ】

    <题目链接> <转载于 >>>  > 题目大意: 给出一个长度不超过1000位的数,求删去m位数字以后形成的最小的数字是多少. 解题分析: 分析:我们可以把题 ...

  2. JAVA中handleEvent和action的区别

    看代码中用到了handleEvent和action,都是对事件进行处理的,觉得这两个方法可以直接合并,于是尝试合并后,发现功能还是有问题,说明两者还是有区别了,查了很久的资料,才基本了解这两者的区别. ...

  3. sql server分页存储过程

    因项目需要,一次性查询出来的数据过大,内存hold不住,所以特意写成分页查询,减小占用内存. 存储过程如下: USE [XXX] GO SET ANSI_NULLS ON GO SET QUOTED_ ...

  4. Ubantu17.10 上安装gitlab

    http://www.jianshu.com/p/92f97939e33a 亲测成功

  5. 潭州课堂25班:Ph201805201 django框架 第五课 自定义简单标签,包含标签,模型类创建,梳理类创建 (课堂笔记)

    自定义标签同自定义过渡器一样,要创建文件,在配置文件中以APP方法注册,对方法进注册,在 html 文件中引入,.. 由模板传参 在 在配置文件中改时区: 由视图函数传参 包含标签: 当有这种重复的代 ...

  6. CentOs中玩docker

    1.启动: systemctl start docker.service 2.停止: systemctl stop docker 3.从usts上拉取仓库 编辑文件 vi /etc/docker/da ...

  7. make、makefile、cmake、qmake对比

    作者:玟清链接:https://www.zhihu.com/question/27455963/answer/36722992来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...

  8. python学习—几个简单小程序

    1. 输出1到100的偶数 #!/usr/bin/env python # -*- coding:utf-8 -*- #定义初始值 start=1 while True: #判断start的值若其为5 ...

  9. Cow Exhibition [POJ2184] [DP] [背包的负数处理]

    题意: 有很多羊,每只羊有一个幽默度和智商,要选出一些羊,智商加幽默度总和最大,其中智商总和和幽默度总和都不能是负数. 样例输入: 5 -5 7 8 -6 6 -3 2 1 -8 -5 样例输出: 8 ...

  10. 细说python类2——类动态添加方法和slots(转)

    先说一下类添加属性方法和实例添加属性和方法的区别, 类添加属性属于加了一个以类为全局的属性(据说叫静态属性),那么以后类的每一个实例化,都具有这个属性.给类加一个方法也如此,以后类的每一个实例化都具备 ...