Spark Release 2.1.0

Apache Spark 2.1.0 は、2.x ラインの2番目のリリースです。このリリースでは、Structured Streaming の本番環境への対応が大幅に進み、イベントタイムウォーターマークKafka 0.10 サポートが追加されました。さらに、このリリースではユーザビリティ、安定性、および洗練性を重視し、1200件以上のチケットが解決されています。

Apache Spark 2.1.0 をダウンロードするには、ダウンロードページをご覧ください。詳細な変更点はJIRAで確認できます。詳細な変更点。ここでは、主要モジュールごとにグループ化された、変更点の概要をまとめています。

Core および Spark SQL

  • API の更新
    • SPARK-17864: データ型 API が安定版 API になりました。
    • SPARK-18351: 文字列カラムのJSON解析のための from_json と to_json が追加されました。
    • SPARK-16700: PySpark で DataFrame を作成する際に、Python の辞書を StructType の値として使用できるようになりました。
  • パフォーマンスと安定性
    • SPARK-17861: スケーラブルなパーティション処理。Hive メタストアは、Hive のストレージフォーマットで保存された Spark テーブル、および Spark のネイティブフォーマットで保存されたテーブルのすべてのテーブルパーティションメタデータをデフォルトで格納します。この変更により、パーティション化されたテーブルに対する最初のクエリのレイテンシが短縮され、Spark のネイティブフォーマットで保存されたテーブルのパーティションを操作するための DDL コマンドが使用できるようになります。以前のバージョンで作成された Spark ネイティブフォーマットで保存されたテーブルは、MSCK コマンドを使用して移行できます
    • SPARK-16523: 行ベースのハッシュマップでバックアップされた高速集計キャッシュを追加することで、グループバイ集計のパフォーマンスを向上させます。
  • その他の注目すべき変更
    • SPARK-9876: parquet-mr を 1.8.1 にアップグレードしました。

プログラミングガイド: Spark Programming Guide および Spark SQL, DataFrames and Datasets Guide

Structured Streaming

  • API の更新
    • SPARK-17346: Structured Streaming でのKafka 0.10 サポート
    • SPARK-17731: Structured Streaming のメトリクス
    • SPARK-17829: オフセットログの安定したフォーマット
    • SPARK-18124: イベントタイムウォーターマークに基づく遅延観測
    • SPARK-18192: Structured Streaming ですべてのファイルフォーマットをサポート
    • SPARK-18516: 瞬間的な状態と進行状況のパフォーマンス統計を分離
  • 安定性
    • SPARK-17267: 長時間実行される Structured Streaming の要件

プログラミングガイド: Structured Streaming Programming Guide

MLlib

  • API の更新
    • SPARK-5992: Locality Sensitive Hashing
    • SPARK-7159: DataFrame ベース API での多クラスロジスティック回帰
    • SPARK-16000: ML の永続化: DataFrame ベース API で spark.mllib.linalg.Vector カラムを使用した保存済みモデルについて、モデルのロードを Spark 1.x と後方互換性を持たせました。
  • パフォーマンスと安定性
    • SPARK-17748: 4096 未満の特徴量に対する、より高速で安定した線形回帰
    • SPARK-16719: RandomForest: 各イテレーションでより少ないツリーを通信します。

プログラミングガイド: Machine Learning Library (MLlib) Guide

SparkR

SparkR における 2.1.0 リリースの主な焦点は、ML アルゴリズムの広範なサポートの追加でした。これには以下が含まれます。

  • SparkR の新しい ML アルゴリズム(LDA、Gaussian Mixture Models、ALS、Random Forest、Gradient Boosted Trees など)
  • glmnet R パッケージと同様の機能を提供する多項ロジスティック回帰のサポート
  • spark.addFile を使用してワーカーにサードパーティパッケージをインストールできるようにしました(SPARK-17577)。
  • Apache Spark リリースでビルドされたスタンドアロンインストール可能なパッケージ。まもなく CRAN に提出する予定です。

プログラミングガイド: SparkR (R on Spark)

GraphX

  • SPARK-11496: Personalized pagerank

プログラミングガイド: GraphX Programming Guide

非推奨

  • MLlib
    • SPARK-18592: ツリーモデルおよびアンサンブルモデルの不要な Param セッターメソッドを非推奨としました。

動作の変更

  • コアと SQL
    • SPARK-18360: デフォルトデータベースのテーブルのデフォルトテーブルパスは、ウェアハウスの場所の設定に常に依存するのではなく、デフォルトデータベースの場所の下に配置されます。
    • SPARK-18377: spark.sql.warehouse.dir は静的な設定になりました。ユーザーは最初の SparkSession 開始前に設定する必要があり、その値は同じアプリケーション内のセッション間で共有されます。
    • SPARK-14393: 非決定性関数の生成する値は、coalesce または union の後も変更されません。
    • SPARK-18076: DateFormat、NumberFormat で使用されるデフォルトの Locale を Locale.US に修正しました。
    • SPARK-16216: CSV および JSON データソースは、ISO 8601 フォーマットの文字列でタイムスタンプと日付の値を書き込みます。これらの2つのデータソースには、ユーザーがそれぞれ文字列表現でのタイムスタンプと日付の値のフォーマットを制御できるように、timestampFormat と dateFormat という2つのオプションが追加されました。これらの2つの設定の詳細については、DataFrameReader および DataFrameWriter の API ドキュメントを参照してください。
    • SPARK-17427: SIZE 関数は、入力パラメータが null の場合に -1 を返します。
    • SPARK-16498: LazyBinaryColumnarSerDe が RCFile の SerDe として修正されました。
    • SPARK-16552: ユーザーがテーブルのスキーマを指定せず、スキーマ推論に依存する場合、推論されたスキーマはメタストアに格納されます。このテーブルが使用される際に、スキーマは再度推論されません。
  • Structured Streaming
    • 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 ニュースアーカイブ