Spark 2.1.0 版本发布

Apache Spark 2.1.0 是 2.x 系列的第二个版本。此版本在结构化流的生产就绪性方面取得了重大进展,增加了对事件时间水印Kafka 0.10 支持的支持。 此外,此版本更加注重可用性、稳定性和改进,解决了 1200 多个工单。

要下载 Apache Spark 2.1.0,请访问下载页面。 您可以查阅 JIRA 以获取详细更改。 我们在此处整理了一个高级别更改列表,按主要模块分组。

核心和 Spark SQL

  • API 更新
    • SPARK-17864:数据类型 API 是稳定的 API。
    • SPARK-18351:from_json 和 to_json 用于解析字符串列的 JSON
    • SPARK-16700:在 PySpark 中创建 DataFrame 时,Python 字典可以用作 StructType 的值。
  • 性能和稳定性
    • SPARK-17861:可扩展的分区处理。Hive 元存储默认存储所有表分区元数据,用于以 Hive 的存储格式存储的 Spark 表以及以 Spark 的本机格式存储的表。 此更改减少了对分区表的首次查询延迟,并允许使用 DDL 命令来操作以 Spark 的本机格式存储的表的分区。 用户可以使用 MSCK 命令迁移由先前版本创建的以 Spark 的本机格式存储的表
    • SPARK-16523:通过添加由基于行的哈希映射支持的快速聚合缓存,加快了 group-by 聚合性能。
  • 其他值得注意的更改
    • SPARK-9876:parquet-mr 升级到 1.8.1

编程指南:Spark 编程指南Spark SQL、DataFrames 和 Datasets 指南

结构化流

  • API 更新
    • SPARK-17346:结构化流中的 Kafka 0.10 支持
    • SPARK-17731:结构化流的指标
    • SPARK-17829:偏移日志的稳定格式
    • SPARK-18124:基于观察到的延迟的事件时间水印
    • SPARK-18192:支持结构化流中的所有文件格式
    • SPARK-18516:将瞬时状态与进度性能统计信息分开
  • 稳定性
    • SPARK-17267:长时间运行的结构化流要求

编程指南:结构化流编程指南

MLlib

  • API 更新
    • SPARK-5992:局部敏感哈希
    • SPARK-7159:基于 DataFrame 的 API 中的多类逻辑回归
    • SPARK-16000:ML 持久性:使模型加载与 Spark 1.x 向后兼容,并在基于 DataFrame 的 API 中使用 spark.mllib.linalg.Vector 列保存模型
  • 性能和稳定性
    • SPARK-17748:更快、更稳定的线性回归,适用于 < 4096 个特征
    • SPARK-16719:RandomForest:在每次迭代中传递更少的树

编程指南:机器学习库 (MLlib) 指南

SparkR

SparkR 在 2.1.0 版本中的主要重点是增加对 ML 算法的广泛支持,其中包括

  • SparkR 中的新 ML 算法,包括 LDA、高斯混合模型、ALS、随机森林、梯度提升树等
  • 支持多项逻辑回归,提供与 glmnet R 包类似的功能
  • 启用在工作节点上使用 spark.addFile 安装第三方包 (SPARK-17577)。
  • 使用 Apache Spark 版本构建的独立可安装包。 我们将很快将其提交给 CRAN。

编程指南:SparkR (R on Spark)

GraphX

  • SPARK-11496:个性化 PageRank

编程指南:GraphX 编程指南

弃用

  • MLlib
    • SPARK-18592:弃用树和集成模型中不必要的 Param setter 方法

行为变更

  • 核心和 SQL
    • SPARK-18360:默认数据库中表的默认表路径将位于默认数据库的位置下,而不是总是依赖于仓库位置设置。
    • SPARK-18377:spark.sql.warehouse.dir 现在是一个静态配置。 用户需要在第一个 SparkSession 启动之前设置它,并且其值在同一应用程序中的会话之间共享。
    • SPARK-14393:由非确定性函数生成的值在合并或联合后不会更改。
    • SPARK-18076:修复 DateFormat、NumberFormat 中使用的默认 Locale 为 Locale.US
    • SPARK-16216:CSV 和 JSON 数据源以 ISO 8601 格式化字符串写入时间戳和日期值。 向这两个数据源添加了两个选项,timestampFormat 和 dateFormat,以使用户能够控制字符串表示形式中时间戳和日期值的格式。 有关这两个配置的更多详细信息,请参阅 DataFrameReaderDataFrameWriter 的 API 文档。
    • SPARK-17427:当 SIZE 函数的输入参数为 null 时,返回 -1。
    • SPARK-16498:LazyBinaryColumnarSerDe 被固定为 RCFile 的 SerDe。
    • SPARK-16552:如果用户没有指定表的 schema 并且依赖于 schema 推断,则推断的 schema 将存储在元存储中。 当使用此表时,将不再重新推断 schema。
  • 结构化流
    • SPARK-18516:将瞬时状态与进度性能统计信息分开
  • MLlib
    • SPARK-17870:ChiSquareSelector 现在通过使用 pValue 而不是原始统计信息来选择顶部特征,从而考虑自由度。

已知问题

  • SPARK-17647:在 SQL LIKE 子句中,反斜杠后面的通配符“%”和“_”始终会被转义。
  • SPARK-18908:如果 StreamExecution 无法启动,用户需要检查 stderr 以查找错误。

贡献者

最后但并非最不重要的是,如果没有以下贡献者,此版本是不可能实现的:ALeksander Eskilson, Aaditya Ramesh, Adam Roberts, Adrian Petrescu, Ahmed Mahran, Alex Bozarth, Alexander Shorin, Alexander Ulanov, Andrew Duffy, Andrew Mills, Andrew Ray, Angus Gerry, Anthony Truchet, Anton Okolnychyi, Artur Sukhenko, Bartek Wisniewski, Bijay Pathak, Bill Chambers, Bjarne Fruergaard, Brian Cho, Bryan Cutler, Burak Yavuz, Cen Yu Hai, Charles Allen, Cheng Lian, Chie Hayashida, Christian Kadner, Clark Fitzgerald, Cody Koeninger, Daniel Darabos, Daoyuan Wang, David Navas, Davies Liu, Denny Lee, Devaraj K, Dhruve Ashar, Dilip Biswal, Ding Ding, Dmitriy Sokolov, Dongjoon Hyun, Drew Robb, Ekasit Kijsipongse, Eren Avsarogullari, Ergin Seyfe, Eric Liang, Erik O’Shaughnessy, Eyal Farago, Felix Cheung, Ferdinand Xu, Fred Reiss, Fu Xing, Gabriel Huang, Gaetan Semet, Gang Wu, Gayathri Murali, Gu Huiqin Alice, Guoqiang Li, Gurvinder Singh, Hao Ren, Herman Van Hovell, Hiroshi Inoue, Holden Karau, Hossein Falaki, Huang Zhaowei, Huaxin Gao, Hyukjin Kwon, Imran Rashid, Jacek Laskowski, Jagadeesan A S, Jakob Odersky, Jason White, Jeff Zhang, Jianfei Wang, Jiang Xingbo, Jie Huang, Jie Xiong, Jisoo Kim, John Muller, Jose Hiram Soltren, Joseph K. Bradley, Josh Rosen, Jun Kim, Junyang Qian, Justin Pihony, Kapil Singh, Kay Ousterhout, Kazuaki Ishizaki, Kevin Grealish, Kevin McHale, Kishor Patil, Koert Kuipers, Kousuke Saruta, Krishna Kalyan, Liang Ke, Liang-Chi Hsieh, Lianhui Wang, Linbo Jin, Liwei Lin, Luciano Resende, Maciej Brynski, Maciej Szymkiewicz, Mahmoud Rawas, Manoj Kumar, Marcelo Vanzin, Mariusz Strzelecki, Mark Grover, Maxime Rihouey, Miao Wang, Michael Allman, Michael Armbrust, Michael Gummelt, Michal Senkyr, Michal Wesolowski, Mikael Staldal, Mike Ihbe, Mitesh Patel, Nan Zhu, Nattavut Sutyanyong, Nic Eggert, Nicholas Chammas, Nick Lavers, Nick Pentreath, Nicolas Fraison, Noritaka Sekiyama, Peng Meng, Peng, Meng, Pete Robbins, Peter Ableda, Peter Lee, Philipp Hoffmann, Prashant Sharma, Prince J Wesley, Priyanka Garg, Qian Huang, Qifan Pu, Rajesh Balamohan, Reynold Xin, Robert Kruszewski, Russell Spitzer, Ryan Blue, Saisai Shao, Sameer Agarwal, Sami Jaktholm, Sandeep Purohit, Sandeep Singh, Satendra Kumar, Sean Owen, Sean Zhong, Seth Hendrickson, Sharkd Tu, Shen Hong, Shivansh Srivastava, Shivaram Venkataraman, Shixiong Zhu, Shuai Lin, Shubham Chopra, Sital Kedia, Song Jun, Srinath Shankar, Stavros Kontopoulos, Stefan Schulze, Steve Loughran, Suman Somasundar, Sun Dapeng, Sun Rui, Sunitha Kambhampati, Suresh Thalamati, Susan X. Huynh, Sylvain Zimmer, Takeshi YAMAMURO, Takuya UESHIN, Tao LI, Tao Lin, Tao Wang, Tarun Kumar, Tathagata Das, Tejas Patil, Thomas Graves, Timothy Chen, Timothy Hunter, Tom Graves, Tom Magrino, Tommy YU, Tyson Condie, Uncle Gen, Vinayak Joshi, Vincent Xie, Wang Fei, Wang Lei, Wang Tao, Wayne Zhang, Weichen Xu, Weiluo (David) Ren, Weiqing Yang, Wenchen Fan, Wesley Tang, William Benton, Wojciech Szymanski, Xiangrui Meng, Xianyang Liu, Xiao Li, Xin Ren, Xin Wu, Xing SHI, Xusen Yin, Yadong Qi, Yanbo Liang, Yang Wang, Yangyang Liu, Yin Huai, Yu Peng, Yucai Yu, Yuhao Yang, Yuming Wang, Yun Ni, Yves Raimond, Zhan Zhang, Zheng RuiFeng, Zhenhua Wang, pkch, tone-zhang, yimuxi


Spark 新闻存档

最新新闻

存档