Spark 1.3.0 版本发布

Spark 1.3.0 是 1.X 系列的第四个版本。此版本带来了全新的 DataFrame API,同时 Spark SQL 也从 Alpha 项目中毕业。它还带来了 Spark 核心引擎的可用性改进,以及 MLlib 和 Spark Streaming 的扩展。Spark 1.3 代表了来自 60 多个机构的 174 位贡献者通过 1000 多个独立补丁所完成的工作。

要下载 Spark 1.3,请访问下载页面。

Spark 核心

Spark 1.3 在核心引擎方面有了一些可用性改进。核心 API 现在支持多级聚合树,以帮助加速昂贵的 reduce 操作。对于某些易错操作,增加了改进的错误报告。Spark 的 Jetty 依赖项现在已进行着色(shaded)处理,以帮助避免与用户程序发生冲突。Spark 现在支持某些通信端点的SSL 加密。最后,实时GC 指标记录计数已添加到 UI 中。

DataFrame API

Spark 1.3 新增了一个DataFrames API,它在处理结构化数据集时提供了强大而便捷的操作符。DataFrame 是基础 RDD API 的演进,它包含命名字段和模式信息。可以轻松地从 Hive 表、JSON 数据、JDBC 数据库或 Spark 新数据源 API 的任何实现等来源构建 DataFrame。DataFrames 将成为 Spark 组件之间以及向其他系统导入和导出数据的通用交换格式。DataFrames 支持 Python、Scala 和 Java。

Spark SQL

在此版本中,Spark SQL从 Alpha 项目中毕业,为 HiveQL 方言和稳定的程序化 API 提供了向后兼容性保证。Spark SQL 增加了对数据源 API 中写入表的支持。新的JDBC 数据源允许从 MySQL、Postgres 和其他 RDBMS 系统导入和导出数据。一系列小的改动扩展了 Spark SQL 中 HiveQL 的覆盖范围。Spark SQL 还增加了对模式演进的支持,能够合并 Parquet 中兼容的模式

Spark ML/MLlib

在此版本中,Spark MLlib 引入了几个新算法:用于主题建模的潜在狄利克雷分配 (LDA),用于多类分类的多项式逻辑回归,用于聚类的高斯混合模型 (GMM)幂迭代聚类,用于频繁模式挖掘的FP-growth,以及用于分布式线性代数的块矩阵抽象。已初步支持可交换格式的模型导入/导出,未来版本将扩展此功能以涵盖 Java/Python/Scala 中更多模型类型。k-means 和 ALS 的实现获得了更新,带来了显著的性能提升。PySpark 现在支持 Spark 1.2 中添加的ML 管道 API,以及梯度提升树高斯混合模型。最后,ML 管道 API 已移植以支持新的 DataFrames 抽象。

Spark Streaming

Spark 1.3 引入了新的直接 Kafka API文档),该 API 无需使用预写日志即可实现精确一次交付。它还新增了Python Kafka API,以及为未来版本中更多 Python API 提供的基础设施。还增加了逻辑回归的在线版本以及读取二进制记录的功能。对于有状态操作,增加了加载初始状态 RDD 的支持。最后,流式编程指南已更新,包含了流式应用中 SQL 和 DataFrame 操作的信息,以及对容错语义的重要澄清。

GraphX

GraphX 在此版本中增加了一些实用函数,包括转换为规范边图

升级到 Spark 1.3

Spark 1.3 与 Spark 1.X 版本二进制兼容,因此无需进行代码更改。这不包括明确标记为不稳定的 API。

作为稳定 Spark SQL API 的一部分,SchemaRDD 类已重命名为 DataFrame。Spark SQL 的迁移指南详细描述了升级过程。Spark SQL 现在还要求使用反引号转义使用保留字(例如“string”或“table”)的列标识符。

已知问题

此版本存在一些已知问题,将在 Spark 1.3.1 中解决。

  • SPARK-6194:PySpark 的 collect() 中存在内存泄漏。
  • SPARK-6222:Spark Streaming 中故障恢复的问题。
  • SPARK-6315:Spark SQL 无法读取用 Spark 1.1 生成的 Parquet 数据。
  • SPARK-6247:Spark SQL 中分析某些连接类型时出错。

致谢

  • Aaron Davidson – 核心模块中的 Bug 修复
  • Alex Baretta – 核心模块的改进
  • Alex Liu – 核心和 SQL 模块的改进;SQL 模块中的 Bug 修复
  • Alexander Bezzubov – 核心模块的文档
  • Alexander Ulanov – MLlib 中的总揽;核心和 MLlib 模块的文档;MLlib 模块中的新功能
  • Andrew Ash – 核心模块的文档
  • Andrew Or – 核心和 YARN 模块的改进;核心和 YARN 模块中的 Bug 修复
  • Andrew Rowson – YARN 模块中的 Bug 修复
  • Andrey Zagrebin – 核心和 PySpark 模块的改进
  • Antonio Navarro Perez – 核心模块的文档
  • Ben Cook – MLlib 和 PySpark 模块的测试;PySpark 和 SQL 模块的改进;核心模块中的新功能
  • Bilna P – Streaming 模块的测试
  • Brennon York – 核心模块中的新功能;核心、GraphX 和调度器模块中的 Bug 修复;核心模块的改进
  • Burak Yavuz – Spark submit 和 MLlib 模块的改进;核心和 MLlib 模块中的新功能;核心和 Spark submit 模块中的 Bug 修复;核心和 MLlib 模块的文档
  • Cheng Hao – SQL 模块的改进;SQL 模块中的新功能;核心和 SQL 模块中的 Bug 修复
  • Cheng Lian – 核心模块的文档;SQL 模块的测试;核心和 SQL 模块的改进;核心、测试和 SQL 模块中的 Bug 修复;SQL 模块的改进
  • Cheolsoo Park – YARN 模块中的 Bug 修复
  • Chip Senkbeil – 核心模块中的 Bug 修复
  • Christophe Preaud – 核心模块的改进
  • Cody Koeninger – Streaming 模块的改进
  • DB Tsai – MLlib 模块的改进;核心和 MLlib 模块的文档;MLlib 模块中的新功能;MLlib 模块中的 Bug 修复;MLlib 模块的改进
  • Dale Richardson – 核心模块的改进
  • Daniel Darabos – 核心模块中的 Bug 修复
  • Daoyuan Wang – SQL 模块的改进;核心和 SQL 模块的改进;核心和 SQL 模块中的新功能;SQL 模块中的 Bug 修复;核心模块的文档
  • David Y. Ross – 核心模块中的总揽
  • Davies Liu – PySpark 模块的改进;核心和 PySpark 模块的文档;Streaming 和 PySpark 模块中的新功能;Streaming、核心、PySpark、MLlib 和 SQL 模块中的 Bug 修复;PySpark 和 SQL 模块的改进
  • Derek Ma – Shuffle 模块中的 Bug 修复
  • Doing Done – SQL 模块的改进
  • Elmer Garduno – 核心模块中的 Bug 修复
  • Emre Sevinc – 核心和 MLlib 模块的文档
  • Eric Moyer – 核心模块的文档
  • Ernest – 核心和 GraphX 模块的改进
  • Evan Yu – 核心模块中的 Bug 修复
  • Fan Jiang – MLlib 模块中的新功能
  • Fernando Otero (ZeoS) – MLlib 模块的改进
  • Gabe Mulley – PySpark 和 SQL 模块中的 Bug 修复
  • Gang Li – 核心模块中的 Bug 修复
  • Gankun Luo – 核心模块的改进;SQL 模块中的 Bug 修复
  • Gaspar Munoz – 核心模块的文档
  • Gen TANG – EC2 模块中的 Bug 修复
  • Grzegorz Dubicki – EC2 模块的改进
  • Guo Wei – SQL 模块中的 Bug 修复
  • GuoQiang Li – 核心模块的改进;核心和 YARN 模块中的 Bug 修复
  • Hari Shreedharan – Streaming、测试和 YARN 模块中的 Bug 修复
  • Holden Karau – EC2 模块的改进
  • Huang Zhaowei – 核心和 YARN 模块中的 Bug 修复
  • Hung Lin – SQL 模块的改进
  • Ilayaperumal Gopinathan – Streaming 模块中的 Bug 修复
  • Ilya Ganelin – 核心模块的改进;核心和 Shuffle 模块中的 Bug 修复
  • Imran Rashid – 核心模块中的 Bug 修复
  • Iulian Dragos – Streaming 模块的测试
  • Ivan Vergiliev – 核心模块的改进
  • Jacek Lewandowski – 核心模块中的 Bug 修复
  • Jacky Li – MLlib 和 SQL 模块的改进;MLlib 模块中的新功能;MLlib 和 SQL 模块中的 Bug 修复
  • Jakub Dubovsky – MLlib 模块的改进
  • Jeremy Freeman – Streaming 和 PySpark 模块的改进;Streaming 和 MLlib 模块中的新功能;MLlib 和 PySpark 模块中的 Bug 修复
  • Jesper Lundgren – Streaming 模块中的 Bug 修复
  • Jongyoul Lee – 核心和 Mesos 模块的改进;Streaming 模块的文档;核心、Mesos 和 SQL 模块中的 Bug 修复
  • Joseph J.C. Tang – MLlib 模块中的 Bug 修复
  • Joseph K. Bradley – MLlib 模块中的新功能;MLlib 中的总揽;核心和 MLlib 模块的文档;MLlib 模块的改进;GraphX、MLlib 和 SQL 模块的改进;核心、GraphX、PySpark、MLlib 和 SQL 模块中的 Bug 修复
  • Josh Rosen – 核心模块中的 Bug 修复
  • Josh Rosen – 核心、测试、EC2 和 SQL 模块的改进;核心模块中的新功能;核心、测试、PySpark、Streaming、调度器、SQL、Spark submit 和 Web UI 模块中的 Bug 修复
  • Judy Nash – SQL 模块中的新功能
  • Kai Sasaki – 核心和 PySpark 模块的文档;核心和 MLlib 模块中的 Bug 修复
  • Kanwaljit Singh – 核心模块中的 Bug 修复
  • Kashish Jain – YARN 模块中的 Bug 修复
  • Kay Ousterhout – Web UI 模块的改进;核心模块中的新功能;核心和 SQL 模块中的 Bug 修复
  • Kazuki Taniguchi – MLlib 和 PySpark 模块中的新功能
  • Kenji Kikushima – GraphX 模块中的 Bug 修复
  • Kenneth Myers – Streaming 模块的文档
  • Kirill A. Korinskiy – Web UI 模块中的 Bug 修复
  • Kostas Sakellis – 核心、Web UI 和 YARN 模块的改进;核心模块中的 Bug 修复;核心模块的改进
  • Kousuke Saruta – 核心、Web UI 和 YARN 模块的改进;Streaming 和 PySpark 模块中的新功能;核心和 Web UI 模块中的 Bug 修复;核心模块的文档
  • Kuldeep – SQL 模块中的 Bug 修复
  • 李智辉 – 核心模块的文档
  • Liang-Chi Hsieh – 核心、MLlib 和 SQL 模块的改进;核心模块的测试;核心模块的文档;核心和 SQL 模块中的 Bug 修复
  • Liangliang Gu – Web UI 模块中的 Bug 修复
  • Lianhui Wang – YARN 模块的改进;核心和 YARN 模块中的 Bug 修复
  • 刘浩 – GraphX 模块中的 Bug 修复
  • 刘炯舟 – MLlib 模块中的 Bug 修复
  • 卢燕 – SQL 模块的改进
  • Lukasz Jastrzebski – 核心模块中的 Bug 修复
  • Madhu Siddalingaiah – 核心模块的文档
  • Makoto Fukuhara – 核心模块的改进
  • Manoj Kumar – MLlib 和 PySpark 模块的改进;核心和 MLlib 模块的文档
  • Marcelo Vanzin – 核心和 YARN 模块的改进;核心、PySpark、YARN 和 SQL 模块中的 Bug 修复
  • Markus Dale – 核心模块中的 Bug 修复
  • Martin Zapletal – 核心和 MLlib 模块的文档;MLlib 模块中的新功能
  • Masayoshi TSUZUKI – Web UI 模块的改进;Windows、核心和 YARN 模块中的 Bug 修复
  • Matei Zaharia – 核心模块的改进
  • Matt Whelan – 核心模块中的 Bug 修复
  • Matthew Cheah – 核心模块中的 Bug 修复
  • Mayur Rustagi – Streaming 模块的文档
  • Meethu Mathew – MLlib 和 PySpark 模块中的新功能
  • Michael Armbrust – 核心模块的改进;核心、MLlib 和 SQL 模块中的 Bug 修复;SQL 模块的改进
  • Michael Davies – SQL 模块的改进
  • Michael Nazario – PySpark 模块的改进和 Bug 修复
  • Mike Jennings – EC2 模块中的新功能
  • Mingyu Kim – 核心模块中的 Bug 修复
  • 朱楠 – Streaming 模块的改进;核心模块的文档;核心和 Streaming 模块中的 Bug 修复
  • Nate Crosswhite – MLlib 和 PySpark 模块的改进
  • Nathan Kronenfeld – 核心模块中的 Bug 修复
  • Nathan McCarthy – 核心模块中的 Bug 修复
  • Nicholas Chammas – EC2 模块的改进;EC2 中的总揽;EC2 模块中的 Bug 修复;核心模块的文档
  • Nishkam Ravi – 核心模块中的 Bug 修复
  • Octavian Geagla – MLlib 模块的改进
  • Patrick Wendell – 核心模块的改进;核心、测试和 Streaming 模块中的 Bug 修复;核心模块的改进
  • Paul Power – 核心模块的文档
  • Peishen Jia – MLlib 模块中的新功能
  • 彭旭 – 核心模块的文档
  • Peter Klipfel – 核心模块的文档
  • Peter Rudenko – MLlib 模块的改进
  • Peter Vandenabeele – 核心模块的文档
  • Prabeesh K – Streaming 模块的改进
  • Prashant Sharma – 核心模块中的新功能;核心模块中的 Bug 修复;核心和 Web UI 模块的改进
  • RJ Nowling – MLlib 和 PySpark 模块中的新功能
  • Ravindra Pesala – SQL 模块的改进
  • Reynold Xin – 核心、Shuffle 和 SQL 模块的改进;核心模块的文档;核心和 SQL 模块中的 Bug 修复;Java API 和 SQL 模块的改进
  • Reza Zadeh – MLlib 模块的改进
  • Ryan Williams – 核心模块的改进、Bug 修复和文档
  • Sadhan Sood – SQL 模块中的 Bug 修复
  • Saisai Shao – Streaming 模块的改进;Streaming、SQL 和核心模块中的 Bug 修复;Streaming 模块的改进
  • Sam Halliday – 核心模块的改进
  • Sandy Ryza – 核心和 YARN 模块的改进;核心和 YARN 模块中的 Bug 修复;YARN 模块的改进
  • Sasaki Toru – SQL 模块的改进
  • Sean Owen – 核心模块的文档;核心模块中的愿望;Java API、核心、MLlib、EC2 和 Streaming 模块的改进;核心、测试、MLlib、YARN、Streaming、SQL、Java API、Web UI 和 GraphX 模块中的 Bug 修复;核心模块的改进
  • Shekhar Bansal – YARN 模块中的 Bug 修复
  • 李胜 – 核心和 SQL 模块的改进;SQL 模块中的新功能;SQL 模块中的 Bug 修复;核心模块的文档
  • 朱世雄 – 核心模块的测试;核心模块的改进;Streaming、SQL、Shuffle、YARN 和核心模块的改进;核心、SQL 和 Streaming 模块中的 Bug 修复;核心、YARN 和 Streaming 模块的文档
  • Shuo Xiang – MLlib 模块中的新功能
  • Soumitra Kumar – Streaming 模块中的新功能
  • Stephen Boesch – 核心和 MLlib 模块的文档
  • Stephen Haberman – 核心模块中的 Bug 修复
  • 苏燕 – 核心模块的改进;核心和 Web UI 模块中的 Bug 修复
  • Takayuki Hasegawa – 项目基础设施中的 Bug 修复
  • Takeshi Yamamuro – GraphX 模块的改进;核心和 SQL 模块的文档;GraphX 模块中的 Bug 修复
  • Takuya UESHIN – SQL 模块的改进和 Bug 修复
  • Tathagata Das – Streaming 模块的改进;核心、Web UI、PySpark、测试和 Streaming 模块中的 Bug 修复
  • Thomas Graves – 核心模块中的 Bug 修复
  • Thu Kyaw – 核心和 SQL 模块的改进
  • Timothy Chen – 核心模块的文档
  • 许廷军 – 核心模块的改进;核心和 YARN 模块中的 Bug 修复
  • Tobias Schlatter – 核心模块的改进和 Bug 修复
  • Tom Panning – SQL 模块中的 Bug 修复
  • Tor Myklebust – SQL 模块的改进
  • Travis Galoppo – MLlib 模块的改进;核心和 MLlib 模块的文档;MLlib 模块中的新功能
  • Tsuyoshi Ozawa – 核心和 YARN 模块的文档
  • Uncle Gen – Spark submit 和 Web UI 模块的改进;核心模块中的 Bug 修复
  • Varun Saxena – 核心模块的改进
  • Venkata Ramana Gollamudi – 核心和 SQL 模块中的 Bug 修复;核心模块的改进
  • Vladimir Grigor – EC2 模块中的 Bug 修复
  • Vladimir Vladimirov – PySpark 模块的改进
  • 王飞 – SQL 模块的改进;Web UI 和 SQL 模块的改进;SQL 模块中的 Bug 修复;核心模块的文档
  • 王涛 – 核心和 YARN 模块的改进;核心和 YARN 模块中的 Bug 修复
  • 范文臣 – SQL 模块中的 Bug 修复
  • Winston Chen – PySpark 模块中的 Bug 修复
  • 孟祥睿 – PySpark、核心、Streaming、EC2 和 MLlib 模块的改进;核心和 MLlib 模块的文档;MLlib 和 PySpark 模块中的新功能;PySpark、MLlib 和 SQL 模块中的 Bug 修复;MLlib 和 PySpark 模块的改进
  • 易晓华 – SQL 模块中的 Bug 修复
  • 王晓静 – SQL 模块的测试;SQL 模块的改进;核心模块的文档
  • 徐坤 – 核心模块中的 Bug 修复
  • 齐亚东 – SQL 模块中的 Bug 修复;Streaming 模块的改进
  • 梁彦波 – SQL、MLlib 和 PySpark 模块中的 Bug 修复
  • Yandu Oppacher – PySpark 模块的改进
  • 翟艳堂 – 核心和 SQL 模块的改进;SQL 模块中的 Bug 修复
  • Yash Datta – SQL 模块中的 Bug 修复
  • 叶先金 – 核心模块中的 Bug 修复
  • 易天 – SQL 模块的改进和 Bug 修复
  • 印怀 – 核心模块的文档;SQL 模块的改进;SQL 模块中的 Bug 修复;SQL 模块的改进
  • 杨宇豪 – MLlib 模块的改进和 Bug 修复
  • Yuri Saito – MLlib 模块的改进
  • Yuu ISHIKAWA – MLlib 模块中的新功能
  • 张展 – 核心和 YARN 模块中的 Bug 修复
  • 张立业 – 核心和 Web UI 模块的改进;核心模块中的 Bug 修复

感谢所有贡献者!


Spark 新闻存档