Spark Release 4.0.0

Spark 4.0.0 は、活気あるオープンソースコミュニティの集大成である 4.x シリーズの最初のリリースとして、重要な節目となります。このリリースは、390 人を超える個人からの貢献により、5100 件を超えるチケットを解決した、大変なコラボレーションの証です。

Spark Connect は、大幅な改善をもたらし、急速な進化を続けています。

  • わずか 1.5 MB の軽量 Python クライアント (pyspark-client) が新登場。
  • Spark Connect がデフォルトで有効になった追加のリリース tarball。
  • Java クライアントの完全な API 互換性。
  • アプリケーションで Spark Connect を簡単にオン/オフできる新しい spark.api.mode 設定。
  • API カバレッジが大幅に拡大。
  • Spark Connect 上での ML。
  • Swift 用の新しいクライアント実装。

Spark SQL は、VARIANT データ型サポート、SQL ユーザー定義関数、セッション変数、pipe 構文、文字列照合など、SQL ワークロードの表現力と汎用性を高めるための強力な新機能で大幅に強化されています。

PySpark は、ネイティブ描画 API、新しい Python データソース API、Python UDTF のサポート、PySpark UDF の統合プロファイリングなど、機能の広さと全体的な開発者エクスペリエンスの両方で継続的な取り組みを行っており、数多くのその他の機能強化をもたらしています。

Structured Streaming は、より柔軟な状態管理のための Arbitrary State API v2 の導入や、デバッグを容易にする State Data Source など、より優れた制御とデバッグの容易さを提供する重要な追加機能で進化しています。

Apache Spark 4.0.0 をダウンロードするには、ダウンロードページをご覧ください。詳細な変更については、JIRA を参照してください。また、主要モジュールごとにグループ化された、ここにあるハイレベルな変更のリストもキュレーションしました。

コアおよび Spark SQL のハイライト

Spark Core

  • [SPARK-49524] K8s サポートの改善
  • [SPARK-47240] SPIP: Apache Spark 用構造化ログフレームワーク
  • [SPARK-46861] DAGScheduler のデッドロック回避
  • [SPARK-47764] `ShuffleCleanupMode` に基づくシャッフル依存関係のクリーンアップ
  • [SPARK-49459] シャッフルチェックサム用の CRC32C サポート
  • [SPARK-46383] `TaskInfo.accumulables()` のライフスパンを短縮してドライバーヒープ使用量を削減
  • [SPARK-45527] 割合ベースのリソース計算を使用
  • [SPARK-47172] RPC 暗号化用のオプション AES 暗号モードとして AES-GCM を追加
  • [SPARK-47448] `spark.shuffle.service.removeShuffle` をデフォルトで有効化
  • [SPARK-47674] `spark.metrics.appStatusSource.enabled` をデフォルトで有効化
  • [SPARK-48063] `spark.stage.ignoreDecommissionFetchFailure` をデフォルトで有効化
  • [SPARK-48268] `spark.checkpoint.dir` 設定を追加
  • [SPARK-48292] SPARK-39195 (OutputCommitCoordinator) を元に戻して重複問題を修正
  • [SPARK-48518] LZF 圧縮を並列実行
  • [SPARK-46132] RPC SSL 用の JKS キーのキーパスワードをサポート
  • [SPARK-46456] Jetty サーバーの停止タイムアウトを設定する `spark.ui.jettyStopTimeout` を追加
  • [SPARK-46256] ZSTD の並列圧縮サポート
  • [SPARK-45544] SSL サポートを `TransportContext` に統合
  • [SPARK-45351] `spark.shuffle.service.db.backend` のデフォルト値を `ROCKSDB` に変更
  • [SPARK-44741] `StatsdSink` で `MetricFilter` の正規表現ベースのサポート
  • [SPARK-43987] `finalizeShuffleMerge` 処理を専用スレッドプールに分離
  • [SPARK-45439] `LiveStageMetrics.accumIdsToMetricType` のメモリ使用量を削減

Spark SQL

機能

関数

  • [SPARK-52016] Spark 4.0 の新しいビルトイン関数
  • [SPARK-44001] プロトバッフラッパー型をアンラップすることを許可するオプションを追加
  • [SPARK-43427] Spark プロトバッファ: unsigned 整数型へのアップキャストを許可
  • [SPARK-44983] `to_char` を使用して `binary` を `string` に変換(形式: hex, base64, utf-8)
  • [SPARK-44868] `to_char`/`to_varchar` を使用して `datetime` を `string` に変換
  • [SPARK-45796] `MODE() WITHIN GROUP (ORDER BY col)` をサポート
  • [SPARK-48658] エンコード/デコード関数は、文字化けではなくコーディングエラーを報告
  • [SPARK-45034] 決定的モード関数のサポート
  • [SPARK-44778] `TIMESTAMPDIFF` にエイリアス `TIMEDIFF` を追加
  • [SPARK-47497] `to_csv` で配列/マップ/バイナリを pretty string としてサポート
  • [SPARK-44840] `array_insert()` で負のインデックスの場合に 1 ベースにする

クエリ最適化

  • [SPARK-46946] `DynamicPruning` で複数のフィルタリングキーのブロードキャストをサポート
  • [SPARK-48445] 広範な子を持つ UDF のインライン化を回避
  • [SPARK-46941] `SizeBasedWindowFunction` でウィンドウグループ制限ノードの挿入を防止
  • [SPARK-46707] 述語プッシュダウンを改善するために式にスロー可能フィールドを追加
  • [SPARK-47511] ID を再割り当てして `WITH` 式を正規化
  • [SPARK-46502] `UnwrapCastInBinaryComparison` でタイムスタンプ型をサポート
  • [SPARK-46069] タイムスタンプ型から日付型へのアンラップをサポート
  • [SPARK-45606] マルチレイヤーランタイムフィルタの制限を解除
  • [SPARK-45909] `IsNotNull` で安全にアップキャストできる場合に `NumericType` キャストを削除

クエリ実行

  • [SPARK-45592] AQE で `InMemoryTableScanExec` を使用した際の正確性問題
  • [SPARK-50258] AQE 後に出力列の順序が変更される問題を修正
  • [SPARK-46693] `OffsetAndLimit` または `LimitAndOffset` に一致する場合に `LocalLimitExec` を挿入
  • [SPARK-48873] JSON パーサーで `UnsafeRow` を使用
  • [SPARK-45452] `InMemoryFileIndex` が `FileSystem.listFiles` API を使用するように改善
  • [SPARK-48649] 無効なパーティションパスをスキップするための `ignoreInvalidPartitionPaths` 設定を追加
  • [SPARK-45882] `BroadcastHashJoinExec` のパーティショニング伝播は CoalescedHashPartitioning を尊重すべき

Spark コネクタ

データソース V2 フレームワーク

  • [SPARK-45784] Spark にクラスタリングメカニズムを導入
  • [SPARK-50820] DSv2: DML でメタデータ列を条件付きで NULL にする
  • [SPARK-51938] ストレージパーティション結合の改善
  • [SPARK-50700] `spark.sql.catalog.spark_catalog` は組み込みマジック値をサポート
  • [SPARK-48781] ストアドプロシージャをロードするためのカタログ API を追加
  • [SPARK-49246] `TableCatalog#loadTable` は書き込み用かどうかを示すべき
  • [SPARK-45965] DSv2 パーティショニング式を `functions.partitioning` に移動
  • [SPARK-46272] DSv2 ソースを使用した CTAS をサポート
  • [SPARK-46043] DSv2 ソースを使用したテーブル作成をサポート
  • [SPARK-48668] v2 で `ALTER NAMESPACE ... UNSET PROPERTIES` をサポート
  • [SPARK-46442] DS V2 は `PERCENTILE_CONT` と `PERCENTILE_DISC` のプッシュダウンをサポート
  • [SPARK-49078] v2 テーブルでの SHOW COLUMNS 構文をサポート

Hive カタログ

  • [SPARK-45328] Hive サポートを 2.0.0 より前のバージョンで廃止
  • [SPARK-47101] トップレベルの列名にカンマを許可し、HiveExternalCatalog スキーマチェックを緩和
  • [SPARK-45265] Hive 4.0 メタストアのサポート
  • [SPARK-49489] HMS クライアントは `hive.thrift.client.maxmessage.size` を尊重

XML

  • [SPARK-44265] ビルトイン XML データソースサポート

CSV

  • [SPARK-46862] マルチラインモードでの CSV 列プルーニングを無効化
  • [SPARK-46890] デフォルト値と列プルーニングを使用した CSV 解析バグを修正
  • [SPARK-50616] CSV データソースライターにファイル拡張子オプションを追加
  • [SPARK-49125] CSV 書き込みで重複する列名を許可
  • [SPARK-49016] 生 CSV ファイルからのクエリの動作を復元
  • [SPARK-48807] CSV データソースのバイナリサポート
  • [SPARK-48602] CSV ジェネレーターが `spark.sql.binaryOutputStyle` を介して異なる出力スタイルをサポートするように

ORC

  • [SPARK-46648] ORC 圧縮のデフォルトとして zstd を使用
  • [SPARK-47456] ORC Brotli コーデックのサポート
  • [SPARK-41858] DEFAULT 値機能による ORC リーダーのパフォーマンス回帰を修正

Avro

  • [SPARK-47739] 論理 Avro 型を登録
  • [SPARK-49082] `AvroDeserializer` での型プロモーションの幅を広げる
  • [SPARK-46633] Avro リーダーがゼロ長ブロックを処理できるように修正
  • [SPARK-50350] Avro: 新しい関数 `schema_of_avro` を追加(Scala サイド)
  • [SPARK-46930] Avro で Union 型フィールドのカスタムプレフィックスをサポート
  • [SPARK-46746] Avro データソースファイルにコーデック拡張をアタッチ
  • [SPARK-46759] Avro で xz および zstandard の圧縮レベルをサポート
  • [SPARK-46766] Avro データソースに ZSTD バッファプールサポートを追加
  • [SPARK-43380] パフォーマンスの低下を引き起こすことなく、Avro データ型変換問題を修正
  • [SPARK-48545] `to_avro` および `from_avro` SQL 関数を作成
  • [SPARK-46990] 空の Avro ファイルのロードを修正(無限ループ)

JDBC

  • [SPARK-47361] JDBC データソースの改善
  • [SPARK-44977] Derby を 10.16.1.1 にアップグレード
  • [SPARK-47044] JDBC 外部データソースで実行されたクエリを explain 出力に追加
  • [SPARK-45139] SQL 型変換を処理するための `DatabricksDialect` を追加

その他の注目すべき Spark コネクタの変更

  • [SPARK-45905] 10 進数型間の最小共通型は、まず整数桁を保持すべき
  • [SPARK-45786] 10 進数乗算および除算の結果の不正確さを修正
  • [SPARK-50705] `QueryPlan` をロックフリーにする
  • [SPARK-46743] COUNT + 定数畳み込みサブクエリのコーナーケースを修正
  • [SPARK-47509] 正確性のためにラムダ/高階関数でサブクエリ式をブロック
  • [SPARK-48498] 述語で常に文字埋め込みを行う
  • [SPARK-45915] `PromoteStrings` で decimal(x, 0) を IntegralType と同じように扱う
  • [SPARK-46220] `decode()` で文字セットを制限
  • [SPARK-45816] タイムスタンプから整数へのキャスト中にオーバーフローした場合に NULL を返す
  • [SPARK-45586] 大規模な式ツリーを持つプランのコンパイラ遅延を削減
  • [SPARK-45507] COUNT 集計を持つネストされた相関スカラーサブクエリの正確性修正
  • [SPARK-44550] ANSI モードでの NULL IN (空リスト) の正確性修正を有効化
  • [SPARK-47911] バイナリ出力を一貫させるための汎用 `BinaryFormatter` を導入

PySpark のハイライト

DataFrame API および機能

  • [SPARK-51079] Arrow を使用した pandas UDF、`createDataFrame`、および `toPandas` で大規模な変数型をサポート
  • [SPARK-50718] PySpark 用の `addArtifact(s)` をサポート
  • [SPARK-50778] PySpark DataFrame に `metadataColumn` を追加
  • [SPARK-50719] PySpark 用の `interruptOperation` をサポート
  • [SPARK-50790] PySpark で `parse_json` を実装
  • [SPARK-49306] `zeroifnull` および `nullifzero` の SQL 関数エイリアスを作成
  • [SPARK-50132] 横並び結合用の DataFrame API を追加
  • [SPARK-45575] `df.read` API のタイムトラベルオプションをサポート
  • [SPARK-45755] グローバル制限 1 を適用して `Dataset.isEmpty()` を改善
  • [SPARK-48761] Scala 用の `clusterBy` DataFrameWriter API を導入
  • [SPARK-45929] DataFrame API で `groupingSets` 操作をサポート
  • [SPARK-40178] PySpark および R での COALESCE ヒントのサポートを容易に

Pandas API on Spark

  • [SPARK-46931] Pandas API on Spark で `Frame.to_hdf` を実装
  • [SPARK-46936] Pandas API on Spark で `Frame.to_feather` を実装
  • [SPARK-46955] Pandas API on Spark で `Frame.to_stata` を実装
  • [SPARK-46976] Pandas API on Spark で `DataFrameGroupBy.corr` を実装
  • [SPARK-49344] Pandas API on Spark で `json_normalize` をサポート
  • [SPARK-45552] `assertDataFrameEqual` に柔軟なパラメータを導入
  • [SPARK-47824] pyspark.pandas.series.asof の非決定性を修正
  • [SPARK-46926] フォールバックリストに `convert_dtypes`、`infer_objects`、`set_axis` を追加
  • [SPARK-48295] `compute.ops_on_diff_frames` をデフォルトで有効化
  • [SPARK-48336] Spark Connect で `ps.sql` を実装
  • [SPARK-45267] `numeric_only` のデフォルト値を変更
  • [SPARK-42619] `DataFrame.info` に `show_counts` パラメータを追加
  • [SPARK-42620] `(DataFrame|Series).between_time` に `inclusive` パラメータを追加
  • [SPARK-42621] `pd.date_range` に `inclusive` パラメータを追加
  • [SPARK-45553] `assertPandasOnSparkEqual` を非推奨化
  • [SPARK-45718] Spark 3.4.0 から、廃止された Pandas の機能を削除
  • [SPARK-45550] Pandas API on Spark から廃止された API を削除
  • [SPARK-45634] Pandas API on Spark から `DataFrame.get_dtype_counts` を削除
  • [SPARK-45165] CategoricalIndex API から `inplace` パラメータを削除
  • [SPARK-45177] `to_latex` から `col_space` パラメータを削除
  • [SPARK-45164] 廃止された Index API を削除
  • [SPARK-45180] `Series.between` から `inclusive` パラメータのブール値を削除
  • [SPARK-43709] `ps.date_range` から `closed` パラメータを削除し、テストを有効化
  • [SPARK-43453] `concat` の `axis=1` の場合、`MultiIndex` の名前を無視
  • [SPARK-43433] 最新の Pandas に `GroupBy.nth` の動作を一致させる
  • [SPARK-43295] `DataFrameGroupBy.sum` で文字列型列をサポート

その他の注目すべき PySpark の変更

  • [SPARK-50357] PySpark 用の `Interrupt(Tag|All)` API をサポート
  • [SPARK-50392] Spark Classic で DataFrame をテーブル引数に変換
  • [SPARK-50752] Arrow を使用しない Python UDF のチューニング用設定を導入
  • [SPARK-47366] PySpark 用に VariantVal を追加
  • [SPARK-47683] PySpark コア API を pyspark.core パッケージに分離
  • [SPARK-47565] PySpark ワーカープールのクラッシュ耐性を改善
  • [SPARK-47933] Spark Connect および Spark Classic 用の親 Column クラス
  • [SPARK-50499] `BasePythonRunner` からメトリクスを公開
  • [SPARK-50220] PySpark で `listagg` をサポート
  • [SPARK-46910] PySpark インストールでの JDK 要件を廃止
  • [SPARK-46522] 名前競合のある Python データソースの登録をブロック
  • [SPARK-48996] Column.and / or でベア Python リテラルを許可
  • [SPARK-48762] Python 用の `clusterBy` DataFrameWriter API を導入
  • [SPARK-49009] Column API が Python Enum を受け付けるように
  • [SPARK-45891] Variant Spec に間隔型を追加
  • [SPARK-48710] NumPy 2.0 互換型を使用
  • [SPARK-48714] PySpark で `DataFrame.mergeInto` を実装
  • [SPARK-48798] SparkSession ベースのプロファイリング用に `spark.profile.render` を導入
  • [SPARK-47346] Python プランナーワーカーのデーモンモードを設定可能に
  • [SPARK-47366] PySpark/dataframe で `parse_json` エイリアスを追加
  • [SPARK-48247] `MapType` スキーマ推論で全ての `dict` ペアを使用
  • [SPARK-48340] `prefer_timestamp_ntz` を使用した `TimestampNTZ` スキーマ推論のサポート
  • [SPARK-48220] PyArrow Table を `createDataFrame()` に渡すことを許可
  • [SPARK-48482] `dropDuplicates`、`dropDuplicatesWithinWatermark` は `var-args` を受け入れる
  • [SPARK-48510] Spark Connect のクライアントサイド RPC 最適化
  • [SPARK-50311] (`add` remove get `clear`)Tag(s) API
  • [SPARK-50238] PySpark UDF/UDTF/UDAF で Variant サポートを追加
  • [SPARK-50446] Arrow 最適化 Python UDF での同時実行レベル
  • [SPARK-50310] `DataFrameQueryContext` を無効にするフラグを追加
  • [SPARK-50471] Arrow ベースの Python データソースライターをサポート
  • [SPARK-49899] `TransformWithStateInPandas` で `deleteIfExists` をサポート
  • [SPARK-45597] SQL で Python データソースを使用してテーブルを作成することをサポート(DSv2 実行)
  • [SPARK-46424] Python データソースで Python メトリクスをサポート
  • [SPARK-45525] DSv2 を使用した Python データソース書き込みのサポート
  • [SPARK-41666] `sql()` によるパラメータ化 SQL をサポート
  • [SPARK-45768] SQL での Python 実行に `faulthandler` をランタイム設定にする
  • [SPARK-45555] 失敗したアサーションのためのデバッグ可能なオブジェクトを含める
  • [SPARK-45600] Python データソース登録をセッションレベルにする
  • [SPARK-46048] PySpark で `DataFrame.groupingSets` をサポート
  • [SPARK-46103] PySpark ドキュメントの改善
  • [SPARK-40178] `groupBy` および `cogroup` に `applyInArrow` を追加
  • [SPARK-45420] PySpark に `DataType.fromDDL` を追加
  • [SPARK-45554] `assertSchemaEqual` に柔軟なパラメータを導入
  • [SPARK-44918] スカラー Python/Pandas UDF で名前付き引数をサポート
  • [SPARK-45017] PySpark に `CalendarIntervalType` を追加
  • [SPARK-44952] 集約 Pandas UDF で名前付き引数をサポート
  • [SPARK-44665] Pandas DataFrame `assertDataFrameEqual` のサポートを追加
  • [SPARK-44705] PythonRunner をシングルスレッドにする
  • [SPARK-45673] PySpark エラーメッセージの明確さと使いやすさの向上

Structured Streaming のハイライト

  • [SPARK-46815] Structured Streaming - Arbitrary State API v2
  • [SPARK-45511] SPIP: State Data Source - Reader
  • [SPARK-46962] Python ストリーミングデータソースを実行する Python ワーカーを実装

その他の注目すべきストリーミングの変更

  • [SPARK-44865] StreamingRelationV2 がメタデータ列をサポートするように
  • [SPARK-45080] DSv2 ストリーミングデータソースでのカラムサポートを明示的に言及
  • [SPARK-45178] サポートされていないソースでの Trigger.AvailableNow のための単一バッチ実行へのフォールバック
  • [SPARK-45415] RocksDB statestore で "fallocate" の選択的無効化を許可
  • [SPARK-45503] RocksDB 圧縮を設定するための設定を追加
  • [SPARK-45511] State Data Source - Reader
  • [SPARK-45558] ストリーミング状態演算子のためのメタデータファイルを導入
  • [SPARK-45794] ストリーミング状態メタデータ情報をクエリするための状態メタデータソースを導入
  • [SPARK-45815] 他のストリーミングソースが _metadata 列を追加するためのインターフェースを提供
  • [SPARK-45845] ストリーミング UI に追放された状態行の数を追加
  • [SPARK-46641] `maxBytesPerTrigger` 閾値を追加
  • [SPARK-46816] 新しい状態管理演算子(複数の状態変数/列ファミリー)のベースサポートを追加
  • [SPARK-46865] TransformWithState 演算子のバッチサポートを追加
  • [SPARK-46906] ストリーミングの状態演算子変更のチェックを追加
  • [SPARK-46961] ハンドルを保存および取得するために `ProcessorContext` を使用
  • [SPARK-46962] Python ストリーミングデータソースおよびワーカーのインターフェースを追加
  • [SPARK-47107] Python ストリーミングデータソースのパーティションリーダー
  • [SPARK-47273] Python データストリームライターインターフェース
  • [SPARK-47553] `transformWithState` 演算子 API の Java サポートを追加
  • [SPARK-47653] 負の数値型および範囲スキャンキーエンコーダのサポートを追加
  • [SPARK-47733] `transformWithState` 演算子のカスタムメトリクスをクエリ進行状況の一部として追加
  • [SPARK-47960] `transformWithState` の後に他の状態演算子を連鎖することを許可
  • [SPARK-48447] コンストラクタの前に `StateStoreProvider` クラスをチェック
  • [SPARK-48569] ストリーミングクエリの `query.name` でエッジケースを処理
  • [SPARK-48589] 状態データソース(SQL 参照)に `snapshotStartBatchId` / `snapshotPartitionId` を追加
  • [SPARK-48589] 状態データソースに snapshotStartBatchId / snapshotPartitionId オプションを追加
  • [SPARK-48726] `TransformWithStateExec` 演算子用の StateSchemaV3 ファイルを作成
  • [SPARK-48742] RocksDB 用の仮想列ファミリー(Arbitrary Stateful API v2)
  • [SPARK-48755] `transformWithState` pyspark ベース実装および `ValueState` サポート
  • [SPARK-48772] State Data Source Change Feed Reader Mode
  • [SPARK-48836] SQL スキーマを TWS 演算子の状態スキーマ/メタデータと統合
  • [SPARK-48849] `TransformWithStateExec` 演算子用の OperatorStateMetadataV2 を作成
  • [SPARK-48931] 状態ストアメンテナンスのためのクラウドストアリスト API コストを削減
  • [SPARK-49021] 状態データソースリーダーで `transformWithState` 値状態変数を読み取るサポートを追加
  • [SPARK-49048] 指定されたバッチ ID で演算子メタデータを読み取るサポートを追加
  • [SPARK-49191] 状態データソースで `transformWithState` マップ状態を読み取る
  • [SPARK-49259] Kafka 読み取り時のサイズベースパーティション作成
  • [SPARK-49411] 状態ストアチェックポイント ID を通信
  • [SPARK-49463] `TransformWithStateInPandas` で ListState をサポート
  • [SPARK-49467] リスト状態用の状態データソースリーダーを追加
  • [SPARK-49513] `transformWithStateInPandas` にタイマーサポートを追加
  • [SPARK-49630] 状態データソースリーダーでコレクション型にフラット化オプションを追加
  • [SPARK-49656] 値状態コレクション型を持つ状態変数をサポート
  • [SPARK-49676] `transformWithStateInPandas` での演算子の連鎖
  • [SPARK-49699] ストリーミングワークロードの `PruneFilters` を無効化
  • [SPARK-49744] `TransformWithStateInPandas` で ListState の TTL サポート
  • [SPARK-49745] `transformWithState` で登録済みタイマーを読み取る
  • [SPARK-49802] マップ/リスト型に対する変更フィードの読み取りサポートを追加
  • [SPARK-49846] `numUpdatedStateRows`/`numRemovedStateRows` メトリクスを追加
  • [SPARK-49883] RocksDB および RocksDBFileManager との State Store Checkpoint Structure V2 統合
  • [SPARK-50017] `TransformWithState` 演算子の Avro エンコーディングをサポート
  • [SPARK-50035] 状態処理で `handleExpiredTimer` 関数を明示的に行う
  • [SPARK-50128] 暗黙的エンコーダを使用したハンドル API を追加
  • [SPARK-50152] 状態データソースリーダーで `handleInitialState` をサポート
  • [SPARK-50194] 新しいタイマー API および初期状態 API の統合
  • [SPARK-50378] 初期状態の生成に費やされた時間に対するカスタムメトリクスを追加
  • [SPARK-50428] バッチクエリで `TransformWithStateInPandas` をサポート
  • [SPARK-50573] スキーマ進化のために状態行に State Schema ID を追加
  • [SPARK-50714] Avro エンコーディングを使用した `TransformWithState` のスキーマ進化を有効化

Spark ML のハイライト

  • [SPARK-48463] 複数の ML トランスフォーマーがネストされた入力列をサポートするように
  • [SPARK-48463] `StringIndexer` がネストされた入力列をサポートするように
  • [SPARK-45757] Binarizer での NNZ の再計算を回避
  • [SPARK-45547] 内蔵関数でベクトルを検証
  • [SPARK-37178] ml.feature に Target Encoding を追加

Spark UX のハイライト

  • [SPARK-44893] モニタリング API 用の `ThreadInfo` 改善
  • [SPARK-45595] エラーメッセージに `SQLSTATE` を公開
  • [SPARK-45022] データセット API エラーのコンテキストを提供
  • [SPARK-45771] `spark.eventLog.rolling.enabled` をデフォルトで有効化

その他の注目すべき Spark UX の変更

  • [SPARK-41685] History Server の KVStore 用プロトバッファシリアライザーをサポート
  • [SPARK-44770] `WebUITab` に `displayOrder` 変数を追加して、タブが表示される順序を指定
  • [SPARK-44801] リスナーと UI で失敗したクエリの解析をキャプチャ
  • [SPARK-44838] `raise_error` 改善
  • [SPARK-44863] Spark UI でスレッドダンプを TXT としてダウンロードするボタンを追加
  • [SPARK-44895] `ThreadStackTrace` に「daemon」、「priority」を追加
  • [SPARK-45022] データセット API エラーのコンテキストを提供
  • [SPARK-45151] タスクレベルスレッドダンプサポート
  • [SPARK-45207] Scala クライアントのエラーエンリッチメントを実装
  • [SPARK-45209] Executor Thread Dump ページ用の FlameGraph サポート
  • [SPARK-45240] Python クライアントのエラーエンリッチメントを実装
  • [SPARK-45248] Spark UI サーバーのタイムアウトを設定
  • [SPARK-45274] ジョブ/ステージ/プラングラフィックスのための新しい DAG 描画アプローチの実装
  • [SPARK-45312] 実行ページでプラン SVG の表示/非表示を切り替え可能に
  • [SPARK-45439] `LiveStageMetrics.accumIdsToMetricType` のメモリ使用量を削減
  • [SPARK-45462] ApplicationPage に期間を表示
  • [SPARK-45480] UI で選択可能な Spark プランノード
  • [SPARK-45491] SQLSTATES を追加
  • [SPARK-45500] MasterPage に異常終了したドライバーの数を表示
  • [SPARK-45511] `SparkThrowable` proto メッセージに `QueryContext` を含める
  • [SPARK-45581] `SQLSTATE` を必須にする
  • [SPARK-45595] エラーメッセージに `SQLSTATE` を公開
  • [SPARK-45609] `SparkThrowable` proto メッセージに `SqlState` を含める
  • [SPARK-45641] AllJobsPage にアプリケーション開始時間を表示
  • [SPARK-45771] `spark.eventLog.rolling.enabled` をデフォルトで有効化
  • [SPARK-45774] ApplicationPage で `spark.master.ui.historyServerUrl` をサポート
  • [SPARK-45955] Flamegraph およびスレッドダンプ詳細の折りたたみサポート
  • [SPARK-46003] Jest を使用した `ui-test` モジュールを作成して UI JavaScript コードをテスト
  • [SPARK-46094] Executor JVM プロファイリングをサポート
  • [SPARK-46399] Spark Listener の使用のためにアプリケーション終了イベントに終了ステータスを追加
  • [SPARK-46886] `spark.ui.prometheus.enabled` をデフォルトで有効化
  • [SPARK-46893] UI 説明からインラインスクリプトを削除
  • [SPARK-46903] Spark History Server Log UI をサポート
  • [SPARK-46922] ランタイムユーザー向けエラーをラップしない
  • [SPARK-46933] JDBCRDD を使用するコネクタにクエリ実行時間メトリクスを追加
  • [SPARK-47253] LiveEventBus がイベントキューをドレインせずに停止できるように
  • [SPARK-47894] Master UI に Environment ページを追加
  • [SPARK-48459] Spark Connect で `DataFrameQueryContext` を実装
  • [SPARK-48597] 論理プランのテキスト表現に `isStreaming` のマーカーを導入
  • [SPARK-48628] タスクのオン/オフヒープメモリメトリクスを追加
  • [SPARK-48716] `SparkListenerSQLExecutionStart` に `jobGroupId` を追加
  • [SPARK-49128] カスタム History Server UI タイトルをサポート
  • [SPARK-49206] Master EnvironmentPage に環境変数テーブルを追加
  • [SPARK-49241] opentelemetry プロファイルを持つ OpenTelemetryPush Sink を追加
  • [SPARK-49445] UI のプログレスバーでツールチップを表示することをサポート
  • [SPARK-50049] v2 テーブルへの書き込みでカスタムドライバーメトリクスをサポート
  • [SPARK-50315] V1Fallback 書き込み用のカスタムメトリクスをサポート
  • [SPARK-50915] PySparkException に `getCondition` を追加し、`getErrorClass` を非推奨化
  • [SPARK-51021] ログスロットリングを追加

Spark Connect のハイライト

  • [SPARK-49248] Dataset/DataFrame API との Scala クライアントの同等性
  • [SPARK-48918] 通常の SQL と Connect の両方で共有される統一 SQL Scala インターフェースを作成
  • [SPARK-50812] Connect で pyspark.ml をサポート
  • [SPARK-47908] Spark Connect および Spark Classic 用の親クラス
  • [SPARK-50605] Spark Classic との互換性を高めるために `spark.api.mode` を追加

その他の Spark Connect の変更と改善

  • [SPARK-41065] `DataFrame.freqItems` および `DataFrame.stat.freqItems` を実装
  • [SPARK-41066] `DataFrame.sampleBy` および `DataFrame.stat.sampleBy` を実装
  • [SPARK-41067] `DataFrame.stat.cov` を実装
  • [SPARK-41068] `DataFrame.stat.corr` を実装
  • [SPARK-41069] `DataFrame.approxQuantile` および `DataFrame.stat.approxQuantile` を実装
  • [SPARK-41292] ウィンドウ関数を実装
  • [SPARK-41333] `GroupedData.{min, max, avg, sum}` を実装
  • [SPARK-41364] broadcast 関数を実装
  • [SPARK-41383] `rollup`、`cube`、および `pivot` を実装
  • [SPARK-41434] LambdaFunction の初期実装
  • [SPARK-41440] `DataFrame.randomSplit` を実装
  • [SPARK-41464] `DataFrame.to` を実装
  • [SPARK-41473] `format_number` 関数を実装
  • [SPARK-41503] Partition Transformation Functions を実装
  • [SPARK-41529] `SparkSession.stop` を実装
  • [SPARK-41629] Relation および Expression におけるプロトコル拡張のサポート
  • [SPARK-41663] Lambda 関数の残りを実装
  • [SPARK-41673] `Column.astype` を実装
  • [SPARK-41707] Spark Connect で Catalog API を実装
  • [SPARK-41710] `Column.between` を実装
  • [SPARK-41722] 3 つの不足している時間ウィンドウ関数を実装
  • [SPARK-41723] sequence 関数を実装
  • [SPARK-41724] `call_udf` 関数を実装
  • [SPARK-41728] `unwrap_udt` 関数を実装
  • [SPARK-41731] 列アクセサ(`getItem`、`getField`、`getitem` など)を実装
  • [SPARK-41740] `Column.name` を実装
  • [SPARK-41767] `Column.{withField, dropFields}` を実装
  • [SPARK-41785] `GroupedData.mean` を実装
  • [SPARK-41803] 不足している関数 `log(arg1, arg2)` を追加
  • [SPARK-41811] `WithRelations` を使用した `SQLStringFormatter` を実装
  • [SPARK-42664] `DataFrameStatFunction` のための `bloomFilter` 関数をサポート
  • [SPARK-43662] Spark Connect で `merge_asof` をサポート
  • [SPARK-43704] Spark Connect で `to_series()` の `MultiIndex` をサポート
  • [SPARK-44736] Spark Connect Scala Client に `Dataset.explode` を追加
  • [SPARK-44740] `SPARK_REMOTE` 接続文字列で `session_id` を指定することをサポート
  • [SPARK-44747] 不足している `SparkSession.Builder` メソッドを追加
  • [SPARK-44761] `DataStreamWriter.foreachBatch(VoidFunction2)` をサポート
  • [SPARK-44788] PySpark、Spark Connect、および SQL 関数に `from_xml` および `schema_of_xml` を追加
  • [SPARK-44807] Scala Client に `Dataset.metadataColumn` を追加
  • [SPARK-44877] Spark Connect 用の Python プロトバッファ関数をサポート
  • [SPARK-45000] `DataFrame.foreach` を実装
  • [SPARK-45001] `DataFrame.foreachPartition` を実装
  • [SPARK-45091] `floor`、`round`、`bround` 関数が Column 型スケールを受け付けるように
  • [SPARK-45121] Spark Connect で `Series.empty` をサポート
  • [SPARK-45137] `sql()` でマップ/配列パラメータをサポート
  • [SPARK-45143] PySpark を PyArrow 13.0.0 と互換性のあるものに
  • [SPARK-45190] `from_xml` が `StructType` スキーマをサポートするように
  • [SPARK-45235] `sql()` でマップおよび配列パラメータをサポート
  • [SPARK-45485] User agent 改善: `SPARK_CONNECT_USER_AGENT` 環境変数を使い、環境固有の属性を含める
  • [SPARK-45506] SparkcConnect `addArtifact` に ivy URI サポートを追加
  • [SPARK-45619] 観測されたメトリクスを Observation オブジェクトに適用
  • [SPARK-45733] 複数リトライポリシーをサポート
  • [SPARK-45851] Scala クライアントで複数ポリシーをサポート
  • [SPARK-46039] Python 3.12 用に `grpcio*` を 1.59.3 にアップグレード
  • [SPARK-46048] Python Spark Connect で `DataFrame.groupingSets` をサポート
  • [SPARK-46085] Scala Spark Connect クライアントでの `Dataset.groupingSets`
  • [SPARK-46202] カスタムターゲットディレクトリをサポートするために新しい `ArtifactManager` API を公開
  • [SPARK-46229] Spark Connect で `groupBy` および `cogroup` に `applyInArrow` を追加
  • [SPARK-46255] 複合型 -> 文字列変換をサポート
  • [SPARK-46620] フレームメソッドのための基本的なフォールバックメカニズムを導入
  • [SPARK-46812] `mapInPandas` / `mapInArrow` が `ResourceProfile` をサポートするように
  • [SPARK-46919] grpcio* および grpc-java を 1.62.x にアップグレード
  • [SPARK-47014] SparkSession の `dumpPerfProfile` および `dumpMemoryProfiles` メソッドを実装
  • [SPARK-47069] SparkSession ベースのプロファイリング用に `spark.profile.show`/.`dump` を導入
  • [SPARK-47081] クエリ実行進行状況をサポート
  • [SPARK-47137] Scala との機能同等性のために `spark.conf` に `getAll` を追加
  • [SPARK-47233] クライアントサイド ストリーミング クエリ リスナーのクライアントとサーバーのロジック
  • [SPARK-47276] SparkSession ベースのプロファイリング用に `spark.profile.clear` を導入
  • [SPARK-47367] Spark Connect で Python データソースをサポート
  • [SPARK-47543] Pandas DataFrame (新しい設定経由) から `dict` を `MapType` として推論
  • [SPARK-47545] Scala Connect 用の `Dataset.observe`
  • [SPARK-47694] クライアント側で最大メッセージサイズを設定可能に
  • [SPARK-47712] Connect プラグインが Dataset を作成および処理できるように
  • [SPARK-47812] `ForEachBatch` ワーカー用の `SparkSession` のシリアライゼーションをサポート
  • [SPARK-47818] Analyze リクエストのパフォーマンスを向上させるために SparkConnectPlanner にプランキャッシュを導入
  • [SPARK-47845] Scala および Python 用の split 関数で Column 型をサポート
  • [SPARK-47909] Spark Connect および Spark Classic 用の親 DataFrame クラス
  • [SPARK-48008] Spark Connect で UDAF をサポート
  • [SPARK-48048] Scala 用のクライアントサイドリスナーサポートを追加
  • [SPARK-48112] `SparkConnectPlanner` でセッションをプラグインに公開
  • [SPARK-48113] プラグインが Spark Connect と統合できるように
  • [SPARK-48258] Spark Connect での `Checkpoint` および `localCheckpoint`
  • [SPARK-48510] Spark Connect で UDAF `toColumn` API をサポート
  • [SPARK-48555] いくつかの関数(`array_remove`、`array_position` など)のパラメータとして Column を使用することをサポート
  • [SPARK-48638] DataFrame 用の `ExecutionInfo` サポートを追加
  • [SPARK-48794] Spark Connect(Scala & Python)の `DataFrame.mergeInto` サポート
  • [SPARK-48960] Spark Connect(`--remote` サポート)で spark‑shell を動作させる
  • [SPARK-49027] Classic および Connect 間で Column API を共有
  • [SPARK-49028] 統一 SparkSession を作成
  • [SPARK-49029] 共有 Dataset インターフェースを作成
  • [SPARK-49185] Spark SQL で kde プロットを再実装
  • [SPARK-49201] Spark SQL で hist プロットを再実装
  • [SPARK-49249] Spark SQL Core に `addArtifac`t API を追加
  • [SPARK-49273] Spark Connect Scala クライアントの Origin サポート
  • [SPARK-49282] 共有 `SparkSessionBuilder` インターフェースを作成
  • [SPARK-49284] 共有 Catalog インターフェースを作成
  • [SPARK-49413] 共有 `RuntimeConfig` インターフェースを作成
  • [SPARK-49416] 共有 `DataStreamReader` インターフェースを追加
  • [SPARK-49417] 共有 `StreamingQueryManager` インターフェースを追加
  • [SPARK-49419] 共有 DataFrameStatFunctions を作成
  • [SPARK-49429] 共有 `DataStreamWriter` インターフェースを追加
  • [SPARK-49526] ArtifactManager で Windows スタイルのパスをサポート
  • [SPARK-49530] kde/density プロットをサポート
  • [SPARK-49531] Plotly バックエンドでの線グラフをサポート
  • [SPARK-49626] 水平/垂直棒グラフをサポート
  • [SPARK-49907] Connect で spark.ml をサポート
  • [SPARK-49948] Pandas on Spark の箱ひげ図に「precision」パラメータを追加
  • [SPARK-50050] lit が str/bool numpy ndarray を受け付けるように
  • [SPARK-50054] ヒストグラムプロットをサポート
  • [SPARK-50063] Spark Connect Scala クライアントで Variant をサポート
  • [SPARK-50298] `createDataFrame` の `verifySchema` パラメータを実装
  • [SPARK-50306] Spark Connect で Python 3.13 をサポート
  • [SPARK-50544] `StructType.toDDL` を実装
  • [SPARK-50710] リリース後のセッションへのオプションのクライアント再接続をサポート
  • [SPARK-50828] `pyspark.ml.connect` を非推奨化
  • [SPARK-46465] PySpark で `Column.isNaN` を追加
  • [SPARK-44753] XML: pyspark SQL XML リーダー/ライター

ビルドおよびその他

  • [SPARK-44442] Mesos サポートを廃止
  • [SPARK-43831] Java 21 で Spark をビルドおよび実行
  • [SPARK-47993] Python 3.8 サポートを廃止
  • [SPARK-49347] SparkR を非推奨化
  • [SPARK-47923] Arrow R パッケージの最小バージョンを 10.0.0 にアップグレード
  • [SPARK-45179] NumPy の最小バージョンを 1.21 にアップグレード
  • [SPARK-50657] pyarrow の最小バージョンを 11.0.0 にアップグレード
  • [SPARK-50952] jjwt-provided プロファイルに jjwt 関連ライブラリを含める
  • [SPARK-49964] ws-rs-api パッケージを削除
  • [SPARK-50383] REST Submission API で Virtual Threads をサポート
  • [SPARK-50811] ドライバーで JVM プロファイラーを有効化することをサポート
  • [SPARK-45269] K8s Dockerfile で Java 21-jre を使用
  • [SPARK-45284] SparkR の最小システム要件を Java 17 に更新
  • [SPARK-49801] Pandas を 2.2.3 にアップグレード
  • [SPARK-44956] Jekyll を 4.3.2 & Webrick を 1.8.1 にアップグレード

Java および Scala ライブラリのバージョンアップグレード

ライブラリ名 バージョン変更
activation 1.1.1 -> 削除済み
aircompressor 0.27 -> 2.0.2
algebra 2.0.1 -> 2.8.0
aliyun-sdk-oss 3.13.0 -> 3.13.2
antlr4-runtime 4.9.3 -> 4.13.1
aopalliance-repackaged 2.6.1 -> 3.0.6
arrow-format 12.0.1 -> 18.1.0
arrow-memory-core 12.0.1 -> 18.1.0
arrow-memory-netty 12.0.1 -> 18.1.0
arrow-memory-netty-buffer-patch -> 18.1.0 (新規)
arrow-vector 12.0.1 -> 18.1.0
audience-annotations 0.5.0 -> 0.12.0
avro 1.11.4 -> 1.12.0
avro-ipc 1.11.4 -> 1.12.0
avro-mapred 1.11.4 -> 1.12.0
aws-java-sdk-bundle 1.12.262 -> 削除済み
bcprov-jdk18on -> 1.80 (新規)
bonecp 0.8.0.RELEASE -> 削除済み
bundle -> 2.25.53 (新規)
cats-kernel 2.1.1 -> 2.8.0
checker-qual -> 3.43.0 (新規)
chill 0.10.0 -> 0.10.0
commons-cli 1.5.0 -> 1.9.0
commons-codec 1.16.1 -> 1.17.2
commons-compress 1.23.0 -> 1.27.1
commons-io 2.16.1 -> 2.18.0
commons-lang3 3.12.0 -> 3.17.0
commons-text 1.10.0 -> 1.13.0
curator-client 2.13.0 -> 5.7.1
curator-framework 2.13.0 -> 5.7.1
curator-recipes 2.13.0 -> 5.7.1
datasketches-java 3.3.0 -> 6.1.1
datasketches-memory 2.1.0 -> 3.0.2
derby 10.14.2.0 -> 10.16.1.1
derbyshared -> 10.16.1.1 (新規)
derbytools -> 10.16.1.1 (新規)
error_prone_annotations -> 2.36.0 (新規)
esdk-obs-java -> 3.20.4.2 (新規)
failureaccess -> 1.0.2 (新規)
flatbuffers-java 1.12.0 -> 24.3.25
gcs-connector hadoop3-2.2.14 -> hadoop3-2.2.26
gson 2.2.4 -> 2.11.0
guava 14.0.1 -> 33.4.0-jre
hadoop-aliyun 3.3.4 -> 3.4.1
hadoop-annotations 3.3.4 -> 3.4.1
hadoop-aws 3.3.4 -> 3.4.1
hadoop-azure 3.3.4 -> 3.4.1
hadoop-azure-datalake 3.3.4 -> 3.4.1
hadoop-client-api 3.3.4 -> 3.4.1
hadoop-client-runtime 3.3.4 -> 3.4.1
hadoop-cloud-storage 3.3.4 -> 3.4.1
hadoop-huaweicloud -> 3.4.1 (新規)
hadoop-openstack 3.3.4 -> 削除済み
hadoop-shaded-guava 1.1.1 -> 1.3.0
hadoop-yarn-server-web-proxy 3.3.4 -> 削除済み
hive-beeline 2.3.9 -> 2.3.10
hive-cli 2.3.9 -> 2.3.10
hive-common 2.3.9 -> 2.3.10
hive-exec 2.3.9 -> 2.3.10
hive-jdbc 2.3.9 -> 2.3.10
hive-llap-common 2.3.9 -> 削除済み
hive-metastore 2.3.9 -> 2.3.10
hive-serde 2.3.9 -> 2.3.10
hive-service-rpc 3.1.3 -> 4.0.0
hive-shims 2.3.9 -> 2.3.10
hive-shims-0.23 2.3.9 -> 2.3.10
hive-shims-common 2.3.9 -> 2.3.10
hive-shims-scheduler 2.3.9 -> 2.3.10
hk2-api 2.6.1 -> 3.0.6
hk2-locator 2.6.1 -> 3.0.6
hk2-utils 2.6.1 -> 3.0.6
icu4j -> 76.1 (新規)
istack-commons-runtime 3.0.8 -> 4.1.2
ivy 2.5.1 -> 2.5.3
j2objc-annotations -> 3.0.0 (新規)
jackson-annotations 2.15.2 -> 2.18.2
jackson-core 2.15.2 -> 2.18.2
jackson-core-asl 1.9.13 -> 削除済み
jackson-databind 2.15.2 -> 2.18.2
jackson-dataformat-cbor 2.15.2 -> 2.18.2
jackson-dataformat-yaml 2.15.2 -> 2.18.2
jackson-datatype-jsr310 2.15.2 -> 2.18.2
jackson-mapper-asl 1.9.13 -> 削除済み
jackson-module-scala 2.15.2 -> 2.18.2
jakarta.activation-api -> 2.1.3 (新規)
jakarta.annotation-api 1.3.5 -> 2.1.1
jakarta.inject 2.6.1 -> 削除済み
jakarta.inject-api -> 2.0.1 (新規)
jakarta.servlet-api 4.0.3 -> 5.0.0
jakarta.validation-api 2.0.2 -> 3.0.2
jakarta.ws.rs-api 2.1.6 -> 3.0.0
jakarta.xml.bind-api 2.3.2 -> 4.0.2
java-diff-utils -> 4.15 (新規)
java-xmlbuilder -> 1.2 (新規)
javassist 3.29.2-GA -> 3.30.2-GA
javax.servlet-api 4.0.1 -> 削除済み
jaxb-api 2.2.11 -> 削除済み
jaxb-core -> 4.0.5 (新規)
jaxb-runtime 2.3.2 -> 4.0.5
jcl-over-slf4j 2.0.7 -> 2.0.16
jersey-client 2.40 -> 3.0.16
jersey-common 2.40 -> 3.0.16
jersey-container-servlet 2.40 -> 3.0.16
jersey-container-servlet-core 2.40 -> 3.0.16
jersey-hk2 2.40 -> 3.0.16
jersey-server 2.40 -> 3.0.16
jettison 1.1 -> 1.5.4
jetty-util 9.4.56.v20240826 -> 11.0.24
jetty-util-ajax 9.4.56.v20240826 -> 11.0.24
jjwt-api -> 0.12.6 (新規)
jjwt-impl -> 0.12.6 (新規)
jjwt-jackson -> 0.12.6 (新規)
jline 2.14.6 -> 3.27.1
joda-time 2.12.5 -> 2.13.0
json4s-ast 3.7.0-M11 -> 4.0.7
json4s-core 3.7.0-M11 -> 4.0.7
json4s-jackson 3.7.0-M11 -> 4.0.7
json4s-jackson-core -> 4.0.7 (新規)
json4s-scalap 3.7.0-M11 -> 4.0.7
jul-to-slf4j 2.0.7 -> 2.0.16
kryo-shaded 4.0.2 -> 4.0.3
kubernetes-client 6.7.2 -> 7.1.0
kubernetes-client-api 6.7.2 -> 7.1.0
kubernetes-httpclient-okhttp 6.7.2 -> 削除済み
kubernetes-httpclient-vertx -> 7.1.0 (新規)
kubernetes-model-admissionregistration 6.7.2 -> 7.1.0
kubernetes-model-apiextensions 6.7.2 -> 7.1.0
kubernetes-model-apps 6.7.2 -> 7.1.0
kubernetes-model-autoscaling 6.7.2 -> 7.1.0
kubernetes-model-batch 6.7.2 -> 7.1.0
kubernetes-model-certificates 6.7.2 -> 7.1.0
kubernetes-model-common 6.7.2 -> 7.1.0
kubernetes-model-coordination 6.7.2 -> 7.1.0
kubernetes-model-core 6.7.2 -> 7.1.0
kubernetes-model-discovery 6.7.2 -> 7.1.0
kubernetes-model-events 6.7.2 -> 7.1.0
kubernetes-model-extensions 6.7.2 -> 7.1.0
kubernetes-model-flowcontrol 6.7.2 -> 7.1.0
kubernetes-model-gatewayapi 6.7.2 -> 7.1.0
kubernetes-model-metrics 6.7.2 -> 7.1.0
kubernetes-model-networking 6.7.2 -> 7.1.0
kubernetes-model-node 6.7.2 -> 7.1.0
kubernetes-model-policy 6.7.2 -> 7.1.0
kubernetes-model-rbac 6.7.2 -> 7.1.0
kubernetes-model-resource 6.7.2 -> 7.1.0
kubernetes-model-scheduling 6.7.2 -> 7.1.0
kubernetes-model-storageclass 6.7.2 -> 7.1.0
libthrift 0.12.0 -> 0.16.0
listenablefuture -> 9999.0-empty-to-avoid-conflict-with-guava (新規)
log4j-1.2-api 2.20.0 -> 2.24.3
log4j-api 2.20.0 -> 2.24.3
log4j-core 2.20.0 -> 2.24.3
log4j-layout-template-json -> 2.24.3 (新規)
log4j-slf4j2-impl 2.20.0 -> 2.24.3
logging-interceptor 3.12.12 -> 削除済み
mesos 1.4.3 -> 削除済み
metrics-core 4.2.19 -> 4.2.30
metrics-graphite 4.2.19 -> 4.2.30
metrics-jmx 4.2.19 -> 4.2.30
metrics-json 4.2.19 -> 4.2.30
metrics-jvm 4.2.19 -> 4.2.30
netty-all 4.1.96.Final -> 4.1.118.Final
netty-buffer 4.1.96.Final -> 4.1.118.Final
netty-codec 4.1.96.Final -> 4.1.118.Final
netty-codec-dns -> 4.1.118.Final (新規)
netty-codec-http 4.1.96.Final -> 4.1.118.Final
netty-codec-http2 4.1.96.Final -> 4.1.118.Final
netty-codec-socks 4.1.96.Final -> 4.1.118.Final
netty-common 4.1.96.Final -> 4.1.118.Final
netty-handler 4.1.96.Final -> 4.1.118.Final
netty-handler-proxy 4.1.96.Final -> 4.1.118.Final
netty-resolver 4.1.96.Final -> 4.1.118.Final
netty-resolver-dns -> 4.1.118.Final (新規)
netty-tcnative-boringssl-static -> 2.0.70.Final (新規)
netty-tcnative-classes -> 2.0.70.Final (新規)
netty-transport 4.1.96.Final -> 4.1.118.Final
netty-transport-classes-epoll 4.1.96.Final -> 4.1.118.Final
netty-transport-classes-kqueue 4.1.96.Final -> 4.1.118.Final
netty-transport-native-epoll 4.1.96.Final -> 4.1.118.Final
netty-transport-native-kqueue 4.1.96.Final -> 4.1.118.Final
netty-transport-native-unix-common 4.1.96.Final -> 4.1.118.Final
orc-core 1.9.6 -> 2.1.2
orc-format -> 1.1.0 (新規)
orc-mapreduce 1.9.6 -> 2.1.2
orc-shims 1.9.6 -> 2.1.2
parquet-column 1.13.1 -> 1.15.2
parquet-common 1.13.1 -> 1.15.2
parquet-encoding 1.13.1 -> 1.15.2
parquet-format-structures 1.13.1 -> 1.15.2
parquet-hadoop 1.13.1 -> 1.15.2
parquet-jackson 1.13.1 -> 1.15.2
pickle 1.3 -> 1.5
py4j 0.10.9.7 -> 0.10.9.9
rocksdbjni 8.3.2 -> 9.8.4
RoaringBitmap 0.9.45 -> 1.3.0
scala-collection-compat 2.7.0 -> 2.7.0
scala-compiler 2.12.18 -> 2.13.16
scala-library 2.12.18 -> 2.13.16
scala-parallel-collections -> 1.2.0 (新規)
scala-parser-combinators 2.3.0 -> 2.4.0
scala-reflect 2.12.18 -> 2.13.16
scala-xml 2.1.0 -> 2.3.0
shims 0.9.45 -> 削除済み
slf4j-api 2.0.7 -> 2.0.16
snakeyaml 2.0 -> 2.3
snakeyaml-engine 2.6 -> 2.9
snappy-java 1.1.10.5 -> 1.1.10.7
spire 0.17.0 -> 0.18.0
spire-macros 0.17.0 -> 0.18.0
spire-platform 0.17.0 -> 0.18.0
spire-util 0.17.0 -> 0.18.0
stream 2.9.6 -> 2.9.8
threeten-extra 1.7.1 -> 1.8.0
tink 1.9.0 -> 1.16.0
transaction-api 1.1 -> 削除済み
vertx-auth-common -> 4.5.12 (新規)
vertx-core -> 4.5.12 (新規)
vertx-web-client -> 4.5.12 (新規)
vertx-web-common -> 4.5.12 (新規)
wildfly-openssl 1.0.7.Final -> 2.2.5.Final
xbean-asm9-shaded 4.23 -> 4.26
xmlschema-core -> 2.3.1 (新規)
xz 1.9 -> 1.10
zjsonpatch 0.3.0 -> 7.1.0
zookeeper 3.6.3 -> 3.9.3
zookeeper-jute 3.6.3 -> 3.9.3
zstd-jni 1.5.5-4 -> 1.5.6-9

クレジット

最後に、しかし決して重要でない、このリリースは以下の貢献者なしには実現できませんでした。Aleksei Shishkin, Adam Binford, Aiden Dong, Albert Ziegler, Alden Lau, Aleksandar Tomic, Alessandro Bellina, Alex Khakhlyuk, Alice Sayutina, Allison Wang, Amanda Liu, Amy Tsai, Andrej Gobeljić, Andrew Xue, Andrey Gubichev, Andy Lam, Anish Shrigondekar, Ankur Dave, Anthony Wainer, Anton Lykov, Anton Okolnychyi, Arzav Jain, Attila Zsolt Piros, Avery Qi, Babatunde Micheal Okutubo, Bhuwan Sahni, Bill Schneider, BingKun Pan, Binjie Yang, Biruk Tesfaye, Bjørn Jørgensen, Bo Gao, Bo Xiong, Bo Zhang, Bobby Wang, Bowen Liang, Bruce Robbins, Burak Yavuz, Carter Fendley, Chaerim Yeo, Changgyoo Park, Chao Sun, Chaoqin Li, Cheng Pan, Chenghao Lyu, Chenhao Li, Chenyu Zheng, Chirag Singh, Chloe He, Chris Nauroth, Chris Twiner, Christos Stavrakakis, Cosmin Dumitru, Costas Zarifis, Cuong Nguyen, Daniel Tenedorio, David Cashman, David Milicevic, Davin Tjong, Deepayan Patra, Dejan Krakovic, Dereck Li, Desmond Cheong, Dmitry Zhyhimont, Dmytro Tsyliuryk, Dongjoon Hyun, Dušan Tišma, Eduard Tudenhoefner, Emil Ejbyfeldt, Enrico Minack, Enrique Rebollo, Eren Avsarogullari, Eric Blanco, Eric Marnadi, Eric Maynard, Evan Wu, Fanyue Xia, Fokko Driesprong, Frank Wong, Fredrik Klauss, Gabor Roczei, Gabriel Dahia, Garland Zhang, Gene Pang, Gengliang Wang, Giambattista Bloisi, Gideon P, Gideon Potok, Guihua Wen, Gurpreet Singh, Haejoon Lee, Haiyang Sun, Hannah Amundson, Hanzhong Yuan, Haoyu Qi, Haoyu Weng, Harsh Motwani, Harsh Panchal, Harunobu Daikoku, Hasnain Lakhani, Hayssam Saleh, Helin Jin, Herman Van Hovell, Himadri Pal, HiuFung Kwok, Holden Karau, Huanli Wang, Huaxin Gao, Hubert Kaczmarczyk, Huw Campbell, Hyukjin Kwon, Ian Cook, Ismaël Mejía, Ivan Jevtic, Ivan Mitic, Ivan Sadikov, Izek Greenfield, Jack Chen, Jackie Zhang, Jacob Zheng, Jared Wang, Jason Li, Jean-Francois Desjeans Gauthier, Jerry Peng, Jerry Zhou, Jia Fan, Jiaan Geng, Jiaheng Tang, Jiale Tan, Jiashen Cao, Jiayi Liu, Jim Baugh, Jing Zhan, Jinhai Chen, Johan Lasperas, Jonathan Albrecht, Josh Rosen, Jovan Markovic, Jovan Pavlovic, João Correia, Julek Sompolski, Juliusz Sompolski, Junbo Wang, Junfan Zhang, Jungtaek Lim, Junqing Li, Junyu Chen, Justontheway, Kaashif Hymabaccus, Kaifei Yi, Karim Ramadan, Kaz, Kazuyuki Tanimura, Kelvin Jiang, Kent Yao, Kevin Nacios, Khalid Mammadov, Kivinsae Fang, Knight Chess, Kousuke Saruta, Kris Mok, Kun Wan, Lantao Jin, Liang-Chi Hsieh, Lingkai Kong, Linhong Liu, Liu Cao, Livia Zhu, Longfei Jiang, Luca Canali, Lucy Yao, Maciej Szymkiewicz, Mahesh Kumar Behera, Maksim Konstantinov, Mark Andreev, Mark Jarvin, Marko Ilić, Marko Nikacevic, Martin Grund, Maryann Xue, Mathew Jacob, Matt Braymer-Hayes, Max Gekk, Mayur Bhosale, Menelaos Karavelas, Mengran Lan, Mete Can Akar, Michael Chen, Michael Zhang, Michał Kimborowicz, Mihailo Aleksic, Mihailo Milosevic, Mihailo Timotic, Mikhail Nikoliukin, Milan Cupac, Milan Dankovic, Milan Stefanovic, Min Zhao, Mingkang Li, Mingliang Zhu, Momcilo Mrkaic, Motoyuki Kimura, Mridul Muralidharan, Nebojsa Savic, Neil Ramaswamy, Nemanja Boric, Nemanja Petrovic, Nicholas Chammas, Nicholas Jiang, Nick Young, Nicolas Fraison, Nikhil Sheoran, Nikola Mandic, Niranjan Jayakar, Ole Sasse, Oleksiy Dyagilev, Pablo Langa, Paddy Xu, Parth Chandra, Parth Upadhyay, Patrick Marx, Paul Staab, Petar Vasiljevic, Peter Kaszt, Peter Toth, Phil Dakin, Phil Walker, Ping Xu, Prashanth Menon, Prathit Malik, Qi Tan, Qi Zhu, Qiang Yang, Qingbo Jiao, Raghu Angadi, Rameshkrishnan Muthusamy, Rastko Sapic, Ravi Jain, Raza Jafri, Reza Safi, Richard Chen, Riya Verma, Rob Reeves, Robert (Bobby) Evans, Robert Dillitz, Ron Serruya, Rui Wang, Ruifeng Zheng, Russell Spitzer, Ruzel Ibragimov, Saidatt Sinai Amonkar, Saksham Garg, Sakthi, Sakthi Vel, Sander Goos, Sandip Agarwala, Scott Schenkein, Sean Owen, Sebastian Hillig, Serge Rielau, Shaofeng Li, Shaoyun Chen, Shu Wang, Shuiahu Xie, Shujing Yang, Shuyan Zhang, Shuyou Dong, Siying Dong, Stefan Bukorovic, Stefan Kandic, Steve Loughran, Steve Weis, Stevo Mitric, Subham Singhal, Sumeet Varma, Sunan Xiang, Supun Nakandala, Szehon Ho, Szilard Miko, Takawa Akirayo, Takuya Ueshin, Tanel Kiis, Tao Li, Ted Jenks, Tengfei Huang, Terry Kim, Terry Wang, Thang Long VU, Thomas Hart, Tianhan Hu, Tigran Manasyan, Tim Lee, Tinglong Liao, Tom Sisso, Tom Van Bussel, Tong Wei, Tuan Pham, Uros Bojanic, Uros Stankovic, Utkarsh Agarwal, Vadim Patsalo, Valentin, Venkata Sai Akhil Gudesa, Viktor Lučić, Vinod KC, Vitalii Li, Vlad Rozov, Vladan Vasić, Vladimir Golubev, Vsevolod Stepanov, Wan Kun, Warren Zhu, Wei Guo, Wei Liu, Weichen Xu, Weitao Wen, Wenchen Fan, Willi Raschkowski, William Hyun, Wonseok Yang, Xi Chen, Xi Liang, Xi Lyu, Xianyang Liu, Xiaodong Huan, Xiaoguang Sun, Xiaoping Huang, Xiduo You, Xingbo Jiang, Xinrong Meng, Xinyi Yu, Xinyu Zou, Yanan Xin, Yang Jie, Yannis Sismanis, Yanxiang Cui, Yaohua Zhao, Yi Wu, Yi Zhu, Yifei Wei, Yifeng Hua, Yihong He, Yongyuan Liang, Yousof Hosny, Yu Xu, Yuanjian Li, Yuchen Liu, Yuchuan Huang, Yuming Wang, Zachary Steudel, Zamil Majdy, Zerui Bao, Zeyu Chen, Zhang Liang, Zhen Li, Zhen Wang, Zhihong Yu, Zhiming She, Zhipeng Mao, Zhou JIANG, Zhou Yifan, Zhyhimont Dmitry, Ziqi Liu, Zongze Li, advancedxy, alex35736, antban, camilesing, chenyu, dengziming, dev-lpq, hongshaoyang, huangsheng, huangzhir, jjayadeep06, junyuc25, laglangyue, morvenhuang, rorueda, xin-aurora, xleoken, xunxunmimi5577, yabola, zekai-li


Spark ニュースアーカイブ