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は、すべての2.Xリリースで非実験的なAPIの安定性を保証します。APIは1.Xとほぼ同様ですが、Spark 2.0.0 にはAPIの破壊的変更が含まれています。これらは、削除、動作変更、および非推奨セクションに記載されています。
Spark 2.0における最も大きな変更の1つは、新しく更新されたAPIです
Spark 2.0は、SQL2003のサポートにより、SQL機能を大幅に向上させました。Spark SQLは、現在すべての99のTPC-DSクエリを実行できます。さらに、以下を改善しました。
さらに、Hiveサポートなしでビルドする場合、Spark SQLはHive接続、Hive UDF、およびスクリプト変換を除いて、Hiveサポートありでビルドした場合とほぼ同等の機能を持つはずです。
DataFrameベースのAPIが主要なAPIになりました。RDDベースのAPIはメンテナンスモードに入ります。詳細はMLlibガイドを参照してください。
このトークには、これらの新機能の多くがリストされています。
DataFrameに格納されるベクトルと行列は、はるかに効率的なシリアライゼーションを使用するようになり、MLlibアルゴリズムの呼び出しにおけるオーバーヘッドが削減されました。(SPARK-14850)
Spark 2.0におけるSparkRの最大の改善点は、ユーザー定義関数です。ユーザー定義関数は3つあります:dapply、gapply、lapply。最初の2つは、dapplyとgapplyを使用してパーティションベースのUDF(例:パーティション化されたモデル学習)を実行するために使用できます。後者はハイパーパラメータチューニングに使用できます。
さらに、多数の新機能があります
Spark 2.0は、Spark SQLとCatalystオプティマイザーの上に構築された高レベルストリーミングAPIであるStructured Streamingの初期実験リリースをシップします。Structured Streamingにより、ユーザーは静的データソースと同じ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 Brahmbhad, 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ń