Apache Spark 2.0.0 是 2.x 系列中的第一个版本。 主要更新包括 API 可用性、SQL 2003 支持、性能改进、结构化流处理、R UDF 支持以及操作改进。 此外,此版本还包含来自 300 多位贡献者的 2500 多个补丁。
要下载 Apache Spark 2.0.0,请访问下载页面。 您可以查阅 JIRA 了解详细更改。 我们在这里整理了一份高级别更改列表,按主要模块分组。
Apache Spark 2.0.0 是 2.X 主要系列中的第一个版本。 Spark 保证其非实验性 API 对于所有 2.X 版本的稳定性。 尽管 API 与 1.X 大致相似,但 Spark 2.0.0 确实具有 API 破坏性更改。 它们记录在移除、行为变更和弃用部分。
Spark 2.0 中最大的变化之一是新的更新的 API
Spark 2.0 通过 SQL2003 支持大大提高了 SQL 功能。 Spark SQL 现在可以运行所有 99 个 TPC-DS 查询。 更突出的是,我们改进了
此外,在不使用 Hive 支持进行构建时,除了 Hive 连接、Hive UDF 和脚本转换之外,Spark SQL 应该具有几乎所有使用 Hive 支持进行构建时的功能。
基于 DataFrame 的 API 现在是主要的 API。 基于 RDD 的 API 即将进入维护模式。 有关详细信息,请参阅 MLlib 指南
本次演讲列出了许多这些新特性。
存储在 DataFrames 中的向量和矩阵现在使用更高效的序列化,从而减少了调用 MLlib 算法的开销。 (SPARK-14850)
Spark 2.0 中 SparkR 的最大改进是用户定义的函数。 有三个用户定义的函数:dapply、gapply 和 lapply。 前两个可用于使用 dapply 和 gapply 执行基于分区的 UDF,例如分区模型学习。 后者可用于进行超参数调整。
此外,还有许多新特性
Spark 2.0 发布了结构化流处理的初始实验版本,这是一种构建在 Spark SQL 和 Catalyst 优化器之上的高级流处理 API。 结构化流处理使用户能够使用与静态数据源相同的 DataFrame/Dataset API 针对流数据源和数据接收器进行编程,从而利用 Catalyst 优化器自动增量化查询计划。
对于 DStream API,最突出的更新是对 Kafka 0.10 的新的实验性支持。
Spark 的操作和打包过程进行了各种更改
以下功能已在 Spark 2.0 中删除
以下更改可能需要更新依赖于旧行为或 API 的现有应用程序。
有关更完整的列表,请参阅 SPARK-11806 了解弃用和删除。
以下功能已在 Spark 2.0 中弃用,可能会在未来版本的 Spark 2.x 中删除
最后但同样重要的是,如果没有以下贡献者,这个版本的发布是不可能实现的:Aaron Tokhy, Abhinav Gupta, Abou Haydar Elias, Abraham Zhan, Adam Budde, Adam Roberts, Ahmed Kamal, Ahmed Mahran, Alex Bozarth, Alexander Ulanov, Allen, Anatoliy Plastinin, Andrew, Andrew Ash, Andrew Or, Andrew Ray, Anthony Truchet, Anton Okolnychyi, Antonio Murgia, Arun Allamsetty, Azeem Jiva, Ben McCann, BenFradet, Bertrand Bossy, Bill Chambers, Bjorn Jonsson, Bo Meng, Brandon Bradley, Brian O’Neill, BrianLondon, Bryan Cutler, Burak Köse, Burak Yavuz, Carson Wang, Cazen, Cedar Pan, Charles Allen, Cheng Hao, Cheng Lian, Claes Redestad, CodingCat, Cody Koeninger, DB Tsai, DLucky, Daniel Jalova, Daoyuan Wang, Darek Blasiak, David Tolpin, Davies Liu, Devaraj K, Dhruve Ashar, Dilip Biswal, Dmitry Erastov, Dominik Jastrzębski, Dongjoon Hyun, Earthson Lu, Egor Pakhomov, Ehsan M.Kermani, Ergin Seyfe, Eric Liang, Ernest, Felix Cheung, Feynman Liang, Fokko Driesprong, Fonso Li, Franklyn D’souza, François Garillot, Fred Reiss, Gabriele Nizzoli, Gary King, GayathriMurali, Gio Borje, Grace, Greg Michalopoulos, Grzegorz Chilkiewicz, Guillaume Poulin, Gábor Lipták, Hemant Bhanawat, Herman van Hovell, Hiroshi Inoue, Holden Karau, Hossein, Huaxin Gao, Hyukjin Kwon, Imran Rashid, Imran Younus, Ioana Delaney, Iulian Dragos, Jacek Laskowski, Jacek Lewandowski, Jakob Odersky, James Lohse, James Thomas, Jason Lee, Jason Moore, Jason White, Jean Lyn, Jean-Baptiste Onofré, Jeff L, Jeff Zhang, Jeremy Derr, JeremyNixon, Jia Li, Jo Voordeckers, Joan, Jon Maurer, Joseph K. Bradley, Josh Howes, Josh Rosen, Joshi, Juarez Bochi, Julien Baley, Junyang, Junyang Qian, Jurriaan Pruis, Kai Jiang, KaiXinXiaoLei, Kay Ousterhout, Kazuaki Ishizaki, Kevin Yu, Koert Kuipers, Kousuke Saruta, Koyo Yoshida, Krishna Kalyan, Lewuathe, Liang-Chi Hsieh, Lianhui Wang, Lin Zhao, Lining Sun, Liu Xiang, Liwei Lin, Liye, Luc Bourlier, Luciano Resende, Lukasz, Maciej Brynski, Malte, Maciej Szymkiewicz, Marcelo Vanzin, Marcin Tustin, Mark Grover, Mark Yang, Martin Menestret, Masayoshi TSUZUKI, Matei Zaharia, Mathieu Longtin, Matthew Wise, Miao Wang, Michael Allman, Michael Armbrust, Michael Gummelt, Michel Lemay, Mike Dusenberry, Mortada Mehyar, Nakul Jindal, Nam Pham, Narine Kokhlikyan, Neelesh Srinivas Salian, Nezih Yigitbasi, Nicholas Chammas, Nicholas Tietz, Nick Pentreath, Nilanjan Raychaudhuri, Nirman Narang, Nishkam Ravi, Nong, Nong Li, Oleg Danilov, Oliver Pierson, Oscar D. Lara Yejas, Parth Brahmbhatt, Patrick Wendell, Pete Robbins, Peter Ableda, Pierre Borckmans, Prajwal Tuladhar, Prashant Sharma, Pravin Gadakh, QiangCai, Qifan Pu, Raafat Akkad, Rahul Tanwani, Rajesh Balamohan, Rekha Joshi, Reynold Xin, Richard W. Eggert II, Robert Dodier, Robert Kruszewski, Robin East, Ruifeng Zheng, Ryan Blue, Sachin Aggarwal, Saisai Shao, Sameer Agarwal, Sandeep Singh, Sanket, Sasaki Toru, Sean Owen, Sean Zhong, Sebastien Rainville, Sebastián Ramírez, Sela, Sergiusz Urbaniak, Seth Hendrickson, Shally Sangal, Sheamus K. Parkes, Shi Jinkui, Shivaram Venkataraman, Shixiong Zhu, Shuai Lin, Shubhanshu Mishra, Sin Wu, Sital Kedia, Stavros Kontopoulos, Stephan Kessler, Steve Loughran, Subhobrata Dey, Subroto Sanyal, Sumedh Mungee, Sun Rui, Sunitha Kambhampati, Suresh Thalamati, Takahashi Hiroshi, Takeshi YAMAMURO, Takuya Kuwahara, Takuya UESHIN, Tathagata Das, Ted Yu, Tejas Patil, Terence Yim, Thomas Graves, Timothy Chen, Timothy Hunter, Tom Graves, Tom Magrino, Tommy YU, Travis Crawford, Tristan Reid, Victor Chima, Vijay Kiran, Villu Ruusmann, Wang Fei, Wayne Song, Wei Mao, WeichenXu, Weiqing Yang, Wenchen Fan, Wesley Tang, Wilson Wu, Wojciech Jurczyk, Xiangrui Meng, Xiao Li, Xin Ren, Xin Wu, Xinh Huynh, Xiu Guo, Xusen Yin, Yadong Qi, Yanbo Liang, Yang Bo., Yash Datta, Yin Huai, Yonathan Randolph, Yong Gang Cao, Y ong Tang, Yu ISHIKAWA, Yucai Yu, Yuhao Yang, Yury Liavitski, Zhang, Zheng RuiFeng, Zheng Tan, dding3, depend, echo2mei, fwang1, guoxu1231, huangzhaowei, hushan, jayadevanmurali, junhao, kaklakariada, mcheah, meiyoula, movelikeriver, nfraison, oraviv, peng.zhang, petermaxlee, prabs, pshearer, rotems, sandy, seddonm1, sharkd, thomastechs, wangfei, wangyang, wujian, yzhou2001, zhonghaihua, zhuol, zlpmichelle, Örjan Lundberg, Łukasz Gieroń