Spark Release 3.4.4

Spark 3.4.4 は、セキュリティと正しさの修正を含む最後のメンテナンスリリースです。このリリースは Spark の branch-3.4 maintenance branch に基づいています。すべての 3.4 ユーザーは、この安定版リリースにアップグレードすることを強く推奨します。

主な変更点

  • [SPARK-43242]: shuffle corruption diagnose で ‘Unexpected type of BlockId’ をスローする問題を修正
  • [SPARK-45988]: Python 3.11+ で list GenericAlias を処理するために typehints を修正
  • [SPARK-46535]: col stats なしで拡張された列を describe する際のエラーを修正
  • [SPARK-46957]: 移行された shuffle ファイルを非推奨にする際に executor からクリーンアップできるようにする
  • [SPARK-47129]: ResolveRelations が connect plan を適切にキャッシュするようにする
  • [SPARK-47172]: RPC 暗号化に AES-GCM のサポートを追加
  • [SPARK-47828]: DataFrameWriterV2.overwrite が不正な plan で失敗する問題を修正
  • [SPARK-47895]: すべてでグループ化すると冪等になるようにする
  • [SPARK-47897]: scala 2.12 で ExpressionSet のパフォーマンス低下を修正
  • [SPARK-47927]: UDF デコーダーの nullability 属性を修正
  • [SPARK-48016]: try_divide 関数で10進数を使用した場合のバグを修正
  • [SPARK-48019]: ColumnVector/ColumnarArray の辞書と null の場合の誤った動作を修正
  • [SPARK-48037]: SortShuffleWriter が shuffle 書き込み関連のメトリクスを欠いており、データが不正確になる可能性があった問題を修正
  • [SPARK-48081]: NTile.checkInputDataTypes() で引数が折りたたみ不可または型が間違っている場合に ClassCastException が発生する問題を修正
  • [SPARK-48105]: state store のアンロードとスナップショット間の競合状態を修正
  • [SPARK-48128]: BitwiseCount / bit_count 式について、ブール型入力に対する codegen 構文エラーを修正
  • [SPARK-48155]: AQEPropagateEmptyRelation が join の場合、残りの child が BroadcastQueryStageExec だけであるか確認するようにする
  • [SPARK-48172]: JDBCDialects のエスケープ問題を修正
  • [SPARK-48248]: ネストされた配列が inferArrayTypeFromFirstElement のレガシー conf を尊重するように修正
  • [SPARK-48292]: SPARK-39195 Spark OutputCommitCoordinator がコミットされたファイルがタスクステータスと一致しない場合にステージを中止する問題を元に戻す
  • [SPARK-48484]: V2Write が異なるタスク試行に同じ TaskAttemptId を使用する問題を修正
  • [SPARK-48642]: スピリング時にタスクをキルすることによる誤った SparkOutOfMemoryError を修正
  • [SPARK-48710]: NumPy バージョンをサポート範囲 (>=1.15, <2) に制限
  • [SPARK-48759]: Spark 3.4 以降の CREATE TABLE AS SELECT の動作変更に関する移行ドキュメントを追加
  • [SPARK-48791]: CopyOnWriteArrayList を使用したアキュムレーター登録オーバーヘッドによるパフォーマンス低下を修正
  • [SPARK-48930]: `accesskey` パターンを含めることで `awsAccessKeyId` をマスク
  • [SPARK-48934]: applyInPandasWithState でタイムアウトを設定する際に Python datetime 型が誤って変換される問題を修正
  • [SPARK-48965]: `Dataset#toJSON` で正しいスキーマを使用するように修正
  • [SPARK-48991]: FileStreamSink.hasMetadata でパス初期化を try-catch ブロック内に移動
  • [SPARK-49000]: RewriteDistinctAggregates を展開することで、空のテーブル `t` で `select count(distinct 1) from t` を実行した場合のバグを修正
  • [SPARK-49005]: Python 3.12 を防ぐために `17-jre` の代わりに `17-jammy` タグを使用
  • [SPARK-49038]: SQLMetric がアキュムレーター更新イベントで生の値を報告するように修正
  • [SPARK-49039]: Stages タブで executor メトリクスがロードされたときにチェックボックスをリセットするように修正
  • [SPARK-49094]: mergeSchema がオフの場合の hive orc impl で ignoreCorruptFiles が機能しない問題を修正
  • [SPARK-49176]: K8s を追加して `spark.ui.custom.executor.log.url` のドキュメントを修正
  • [SPARK-49179]: v2 マルチバケット内部結合が AssertionError をスローする問題を修正
  • [SPARK-49182]: site/docs/{version}/api/python/_sources ディレクトリの公開を停止
  • [SPARK-49193]: RowSetUtils.toColumnBasedSet のパフォーマンスを改善
  • [SPARK-49197]: `launcher` モジュールで `Spark Command` の出力をマスク
  • [SPARK-49261]: 集計式内のリテラルをグループ化式に置き換えないようにする
  • [SPARK-49352]: 同一の式に対する冗長な配列変換を回避
  • [SPARK-49385]: `getReusablePVCs` で `podAllocationDelay` の代わりに `podCreationTimeout` を使用するように修正
  • [SPARK-49408]: ProjectingInternalRow で IndexedSeq を使用
  • [SPARK-49595]: Spark Connect Scala Client で `DataFrame.unpivot/melt` を修正
  • [SPARK-49628]: ConstantFolding が状態を持つ式を評価する前にコピーするように修正
  • [SPARK-49750]: K8s モードでの委任トークンサポートについて言及
  • [SPARK-49760]: アプリケーションマスターでの `SPARK_USER` 環境変数の上書きの正しい処理
  • [SPARK-49804]: executor コンテナの終了コードを常に使用するように修正
  • [SPARK-49836]: window/session_window 関数に window が提供された場合に、壊れる可能性のあるクエリを修正
  • [SPARK-49843]: char/varchar 列の変更コメントを修正
  • [SPARK-49959]: ColumnarArray.copy() が正しいオフセットから null を読み取るように修正
  • [SPARK-50021]: UI が無効な場合に App UI リンクを非表示にするように `ApplicationPage` を修正
  • [SPARK-50022]: UI が無効な場合に App UI リンクを非表示にするように `MasterPage` を修正

依存関係の変更

メンテナンスリリースですが、このリリースではいくつかの依存関係をアップグレードしました。それらは以下の通りです。

詳細な変更については、JIRA を参照してください: 詳細な変更

このリリースにパッチを提供してくださったすべてのコミュニティメンバーに感謝いたします。


Spark ニュースアーカイブ