Spark 1.1.0 版本发布

Spark 1.1.0 是 1.X 系列中的第一个小版本。此版本在 Spark Core 中带来了操作和性能改进,以及对 Spark 最新库 MLlib 和 Spark SQL 的重大扩展。它还扩展了 Spark 的 Python 支持,并向 Spark Streaming 模块添加了新组件。 Spark 1.1 代表了 171 位贡献者的工作,这是为 Spark 版本贡献的最大人数!

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

性能和可用性改进

总的来说,Spark 1.1 添加了改进稳定性和性能的功能,特别是对于大规模工作负载。 Spark 现在执行 倾斜块的磁盘溢出,在缓存操作期间,如果单个 RDD 分区很大,则可以防止内存溢出。在 Spark 1.0 中引入的聚合期间的磁盘溢出已移植到 PySpark。此版本引入了新的 shuffle 实现,该实现针对非常大规模的 shuffle 进行了优化。这种“基于排序的 shuffle”将在下一个版本中成为默认设置,现在可供用户使用。对于具有大量 reducer 的作业,我们建议启用此功能。此版本还添加了一些可用性改进,用于监视长时间运行或复杂作业的性能。其中一些更改包括更好的 命名累加器,它们显示在 Spark 的 UI 中,动态更新指标,用于进度任务,以及报告输入指标,用于读取输入数据的任务。

Spark SQL

Spark SQL 在此版本中添加了许多新功能和性能改进。JDBC/ODBC 服务器允许用户从许多不同的应用程序连接到 SparkSQL,并提供对缓存表的共享访问。 一个新模块提供加载 JSON 数据 直接进入 Spark 的 SchemaRDD 格式的支持,包括自动模式推断。 Spark SQL 在此版本中引入了 动态字节码生成,这是一种可以显着加快执行复杂表达式评估的查询的技术。 此版本还增加了对将 Python、Scala 和 Java lambda 函数注册为 UDF 的支持,然后可以直接在 SQL 中调用这些函数。 Spark 1.1 添加了一个 公共类型 API,允许用户从自定义数据源创建 SchemaRDD。 最后,已对原生 Parquet 支持以及整个引擎进行了许多优化。

MLlib

MLlib 在此版本中添加了多个新算法和优化。 1.1 引入了 新的统计软件包库,该库提供了探索性分析功能。 这些包括分层抽样、相关性、卡方检验和创建随机数据集的支持。 此版本添加了用于特征提取(Word2VecTF-IDF)和特征转换(归一化和标准缩放)的实用程序。 新增功能还包括对 非负矩阵分解通过 Lanczos 进行 SVD 的支持。 决策树算法已在 Python 和 Java 中添加。 添加了树聚合原语,以帮助优化许多现有算法。 MLlib 1.1 的性能得到了全面提高,许多算法的性能提高了约 2-3 倍,对于大规模决策树问题,性能提高了 5 倍。

GraphX 和 Spark Streaming

Spark Streaming 添加了一个新的数据源 Amazon Kinesis。 对于 Apache Flume,支持一种新模式,该模式从 Flume 中提取数据,从而简化了部署并提供了高可用性。 第一组 流式机器学习算法 引入了流式线性回归。 最后,已为流式输入添加了 速率限制。 GraphX 添加了 顶点和边的自定义存储级别 以及 提高的数值精度。 最后,GraphX 添加了一种新的标签传播算法。

其他值得注意的改进

  • PySpark 现在允许读取写入 任意 Hadoop InputFormat,包括 SequenceFiles、HBase、Cassandra、Avro 和其他数据源
  • Stage 重新提交现在可以在 Spark UI 中优雅地处理
  • Spark 支持所有网络端口的严格的防火墙规则
  • GraphX 中修复了一个溢出错误,该错误会影响具有超过 40 亿个顶点的图

升级说明

Spark 1.1.0 与 Spark 1.0.X 向后兼容。 一些配置选项默认值已更改,这可能与现有用户相关

  • spark.io.compression.codec的默认值现在是snappy,以提高内存使用率。可以通过切换到lzf来恢复旧的行为。
  • spark.broadcast.factory的默认值现在是org.apache.spark.broadcast.TorrentBroadcastFactory,以提高广播的效率。可以通过切换到org.apache.spark.broadcast.HttpBroadcastFactory来恢复旧的行为。
  • PySpark 现在在聚合期间执行外部溢出。可以通过将spark.shuffle.spill设置为false来恢复旧的行为。
  • PySpark 使用新的启发式方法来确定 shuffle 操作的并行度。可以通过将spark.default.parallelism设置为群集中核心的数量来恢复旧的行为。

已解决问题的完整列表

贡献者

  • Aaron Davidson – PySpark 优化、修复和 Spark Core 中的优化
  • Aaron Staple – Spark Core Spark SQL 中的修复
  • Ahir Reddy – Spark SQL 修复
  • Albert Chu – 配置修复
  • Alexander Ulanov – MLlib 中的多类评估指标
  • Alex Liu – 错误修复
  • Ali Ghodsi – 文档修复
  • Allan Douglas R. de Oliveira – EC2 脚本增强和 coGroup 修复
  • Ameet Talwalkar – MLlib 文档
  • Anand Avati – 构建和 SQL 修复
  • Anant – Python 和文档修复
  • Anatoli Fomenko – MLlib 文档修复
  • Andrew Ash – 文档改进和错误修复
  • Andrew Xia – 外部排序功能
  • Andrew Or – 外部溢出功能、错误修复和优化
  • Andrew Schumacher – Spark SQL 中的 Parquet 支持
  • Ankit Bhardwaj – 错误修复
  • Ankur Dave – GraphX 优化和改进
  • Ariel Rabkin – 文档修复
  • Arkadiusz Komarzewski – 文档修复
  • Artjom Metrio – 示例修复
  • Baishuo – Spark SQL 中的错误修复
  • Basit Mustafa – EC2 脚本修复
  • Bernardo Gomez Palacio – 构建修复和 YARN 修复
  • Brock Noland – 构建改进
  • Bruno Paulin – Java 中的 emptyRDD
  • Burak – 文档和代码修复
  • Carl Max – 代码清理
  • Cesar Arevalo – 错字修复
  • Chandan Kumar – 错误修复和文档修复
  • Chen Chao – 示例和代码清理
  • Cheng Hao – Spark SQL 中的优化和修复
  • Cheng Lian – Spark SQL 中的 JDBC 服务器(负责人)、Spark SQL 中的多个优化和修复
  • Chia-Yung Su – Spark SQL 中的错误修复
  • Chris Cope – 代码清理
  • Chris Fregly – Spark Streaming 的 AWS Kinesis 支持
  • Christian Tzolov – 构建中的 Pivotal 支持
  • Clement Mathieu – 文档修复
  • Colin McCabe – 构建修复
  • Daehan Kim – 示例修复
  • Daniel Darabos – 错误修复和 UI 增强
  • Daoyuan Wang – SQL 修复
  • David Lemieux – 错误修复
  • Davies Liu – PySpark 修复和溢出
  • DB Tsai – MLlib 中的在线摘要和其他 MLlib 功能
  • Derek Ma – 错误修复
  • Doris Xin – MLlib 统计库和多个修复
  • Erik Selin – 错误修复
  • Fireflyc – 错误修复
  • Gabriel Nizzoli – Spark Streaming 中的错误修复
  • Gang Bai – MLlib 修复
  • Gera Shegalov – 错误修复
  • Gil Vernik – OpenStack Swift 文档
  • Guancheng Chen – 文档修复
  • Guillaume Ballet – 构建修复
  • GuoQiang Li – Spark Core 和 MLlib 中的错误修复
  • Guo Wei – Spark SQL 中的错误修复
  • Haoyuan Li – Tachyon 修复
  • Hari Shreeharan – Spark Streaming 的 Flume 轮询源
  • Henry Cook – 对 SQL 文档的编辑
  • Henry Saputra – 日志记录和文档修复
  • Hossein Falaki – 优化修复
  • Ian O Connel – SQL 修复
  • Issac Buenrostro – Spark Streaming 中的节流
  • Jacek Laskowski – 代码清理
  • James Z.M. Gao – 构建修复
  • Jean-Martin Archer – EC2 脚本改进
  • Jeff Thompson – 错字修复
  • Jeremy Freeman – 流式 MLlib 算法和 Python 统计计数器
  • Jerry Shao – shuffle 改进和错误修复
  • Jiang – 文档修复
  • Jon Sondag – MLlib 修复
  • Joseph Bradley – 决策树 Python API 和其他 MLlib 功能
  • Joseph Gonzalez – GraphX 基准测试和分区功能
  • Josh Rosen – Python 优化和修复、Spark Core 和 ec2 修复
  • Joy Yoj – 流式修复
  • Jyotiska NK – 文档修复
  • Kalpit Shah – 构建修复
  • Kan Zhang – Core 和 Python 中的修复、PySpark 的增强
  • Kay Ousterhout – 输入数据的指标、代码清理和增强
  • K Ballou – 文档修复
  • Ken Takagiwa – 错误修复
  • Koert Kuipers – kryo 配置选项
  • Kousuke Saruta – Spark Core 中的稳定性修复
  • Larry Xiao – GraphX 错误修复
  • Lars Albertsson – Spark Streaming 错误修复
  • Liang-Chi Hsieh – 优化
  • Lijie Xu – 日志修复
  • Li Pu – MLlib 贡献
  • Liquan Pei – MLlib 中的 Word2Vec
  • Lu Luorta – graphX 修复
  • Luogan Kun – SQL 测试修复
  • Ly Lai – Spark SQL 中的错误修复
  • Madhu Siddalingaiah – 外部排序功能
  • Manish Amde – 决策树的多类支持
  • Manuel Laflamme – 流式修复
  • Marcelo Vanzin – YARN 代码中的修复和改进
  • Mark Hamstra – Mesos 的错误修复
  • Mark Wagner – 错误修复
  • Masayoshi Tsuzuki – 错误修复
  • Matei Zaharia – bug 和文档修复,基于排序的 shuffle (负责人) 和外部排序
  • Matt Forbes – 拼写错误修复
  • Matthew Farrelle - bug 修复
  • Michael Armbrust – Spark SQL 的功能和性能增强 (负责人)
  • Michael Giannakopoulos – MLlib 改进和文档
  • Naftali Harris – bug 修复
  • Nan Zhu – bug 修复和文档修复
  • Nevelle Li – UI 和 MLlib bug 修复
  • Nicholas Chammas – EC2 修复,代码清理和项目基础设施
  • Nick Pentreath – PySpark 的 SequenceFile 支持
  • Oleg Danilov – bug 修复
  • Ori Kremer – bug 修复
  • Patrick Wendell – 命名累加器功能和 1.1 版本发布经理
  • Peng Zhang – MLlib 修复
  • Peter MacKinnon – 构建修复
  • Piotr Szul – PySpark 修复
  • Prashant Sharma – 构建和 MIMA 工具工作,repl 中的 bug 修复
  • Prudhvi Krishna – bug 修复
  • Punya Biswal – Java 中的 subtractByKey
  • Qipinglgp – 测试修复
  • Qiuzhuang Lian – 测试修复
  • Rahul Singhal – YARN 和指标改进
  • Ravikanth Nawada – bug 修复
  • Raymond Liu – bug 修复
  • Reynold Xin – 多个 bug 修复,重构和优化,netty 网络模块
  • Reza Zadeh – MLlib 中的 bug 和文档修复
  • Rishi Verma – 文档修复
  • RJ Nowling – 代码清理
  • Rui Li – bug 修复
  • Sameer Agarwal – bug 修复
  • Sandy Ryza – 性能改进,spark 配置和 YARN 修复
  • Sarah Gerweck – bug 修复
  • Sean Owen – core 和 MLlib 中的 bug 修复和构建修复
  • Sebastien Rainville – bug 修复
  • Shixiong Zhu – 代码清理
  • Shuo Xiang – MLlib 改进
  • Stephen Boesch – bug 和文档修复
  • Syed Hashmi – PySpark 功能和 bug 修复
  • Takayu Ueshin – Spark SQL 中的可空性修复和其他改进
  • Tathagata Das – spark core 中的滚动日志和 bug 修复,Spark Streaming 的修复和监督
  • Tatiana Borisova – bug 修复
  • Ted Malaska – 用于流处理的 Flume 改进
  • Teng Qiu – SQL 和 parquet 中的 bug 修复
  • Timothy Hunter – repl 中的 bug 修复
  • Tom Graves – YARN 支持 (负责人)
  • Tor Myklebust – MLlib 中的 ALS 改进
  • U Jing – SQL 修复
  • Uri Laserson – bug 修复
  • Vadim Chekan – streaming 中的 bug 修复
  • Varakhedi Sujeet – EC2 修复
  • Vida Ha – EC2 修复
  • Vlad – 文档修复
  • Wangfei Shi – bug 和构建修复
  • Wang Lianhui – bug 修复
  • Wang Tao – bug 修复
  • Wenchen Fan – 内存泄漏修复
  • William Benton – core 和 SQL 中的 bug 修复,Spark SQL 中的改进
  • Woshilaiceshide – bug 修复
  • Xiangrui Meng – MLlib 的多项添加 (负责人)
  • Xi Lui – Spark SQL 中的 UDF 改进
  • Ximo Guanter Gonzalbez – SQL DSL 支持聚合
  • Yadid Ayzenberg – 文档修复
  • Yadong Qi – 代码清理
  • Yanjie Gao – Spark SQL 增强
  • Yantangz Hai – bug 修复
  • Ye Xianjin – bug 修复
  • Yijie Shen – bug 修复
  • Yin Huai – Spark SQL 的多项添加,JSON 支持和 types API 的负责人。
  • Yi Tian – SQL 修复
  • Zhang Liye – bug 修复
  • Zhen Peng – bug 修复
  • Zhihui Li – bug 修复和调度器功能
  • Zichuan Ye – EC2 修复
  • Zohn Zhao – bug 修复
  • Zongheng Yang – SQL 配置和其他改进

感谢每一位贡献者!


Spark 新闻存档

最新新闻

存档