对于一个具有相当技术门槛与复杂度的平台,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. Apache Spark源码剖析

    Apache Spark源码剖析(全面系统介绍Spark源码,提供分析源码的实用技巧和合理的阅读顺序,充分了解Spark的设计思想和运行机理) 许鹏 著   ISBN 978-7-121-25420- ...

随机推荐

  1. 【转】Eclipse快捷键 10个最有用的快捷键

    转载地址:http://www.open-open.com/bbs/view/1320934157953 Eclipse中10个最有用的快捷键组合  一个Eclipse骨灰级开发者总结了他认为最有用但 ...

  2. 【分享】4412开发板ubuntu 12.0.4播放音乐没有声音解决方法

    转自迅为论坛:http://bbs.topeetboard.com 准备工作 1.下载 vim 在命令行上输入 apt-get install vim 下载 vim 2.输入 vim /etc/hos ...

  3. Zend Framework 入门(3)—错误处理

    undefined 说明脚本中一些对象没有设定 你应在在使用该对象前进行判断 例如: if(typeof(aobject) == "undefined"){   //错误处理 }

  4. qt环境问题导致的编译错误

    /usr/include/qt5/QtCore/qprocess.h:245:24: error: missing binary operator before token "(" ...

  5. Codeforces round #353div2 C

    题目来源:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=117863#problem/C 题目大意:给你n个数字,代表这个人在n个银行里面 ...

  6. UI Automator 常用 API 整理

    主要类: import android.support.test.uiautomator.UiDevice; 作用:设备封装类,测试过程中获取设备信息和设备交互. import android.sup ...

  7. 全是Bug

    一.开始实现程序之前 1. 在文章开头给出结对使用的Github项目地址和结对伙伴的作业地址.(两个人使用同一个) 我的结对伙伴是 : 201731044205. 伙伴的作业地址: https://w ...

  8. python中.py和.pyw文件的区别

    :本文为博主原创文章,未经博主允许不得转载. 以下是摘录自百度问题的答案: 严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行档案. 视窗用 python.exe 运行 .py ,用 ...

  9. <string.h>的学习

    感觉学习代码库最好的方法就是运行一下. 下面附上结果和示例代码 #include <stdio.h> #include <string.h> int main(){ const ...

  10. epoll 系列函数简介、与select、poll 的区别

    一.epoll 系列函数简介 #include <sys/epoll.h> int epoll_create(int size); int epoll_create1(int flags) ...