Apache Iceberg のロゴ

Apache Iceberg / リリースノート / 2026/02/02 / 重要

Apache Iceberg Rust 0.8.0 リリース解説: V3 metadata と DataFusion 統合が進む

公式リリースノート

Apache Iceberg Rust 0.8.0 は、Rust 実装が Iceberg V3 metadata、DataFusion integration、delete file handling、catalog operation を広げたリリースです。公式記事では、2025年11月下旬から2026年1月上旬までの開発成果として、144件の pull request と 37人の contributor が紹介されています。

要点

  • Iceberg V3 metadata format に対応し、V3 manifest や delete file content を扱えるようになった
  • DataFusion では partitioned table への INSERT INTO、partition-aware sorting、SQLLogicTest、parallel writer が強化された
  • position delete と equality delete の混在、delete file cache、case-sensitive equality delete など delete file 周りが進んだ
  • Arrow reader、compressed metadata、schema evolution、metadata column など読み取り性能と互換性が改善された
  • smol runtime の廃止、Rust 1.88 への MSRV 引き上げなど breaking changes も含む

今回の更新で何が変わるのか

Rust 0.8.0 の意味は、Iceberg Rust が単なる周辺実装から、DataFusion や Python binding とつながる実用的な実装へ近づいている点にあります。V3 metadata support は、Iceberg table spec の新しい方向に Rust 実装が追随するための重要な土台です。delete file content を含む V3 manifest を扱えることは、行レベル変更や table evolution を含む現実の lakehouse 運用に関係します。

DataFusion 連携では、partitioned table への INSERT INTO、partition column projection、repartitioning operator、partition-aware sorting、parallel writer が入りました。これは、Rust / Arrow / DataFusion 系の query stack から Iceberg table を読み書きする構成を考えるチームにとって重要です。

delete file handling の改善も実務寄りです。position delete と equality delete が同じ FileScanTask に混在するケース、delete file の cache 共有、binary type、large deletes での stack overflow、scan deadlock、row group filtering、case-sensitive matching など、実運用で出やすい境界条件に踏み込んでいます。

対象になりそうなユーザー・チーム

  • Rust / DataFusion / Arrow を使った analytical engine を開発しているチーム
  • Python binding の pyiceberg-core を通じて Rust 実装の影響を受けるユーザー
  • Iceberg V3 metadata や delete file semantics を早めに検証したい platform team
  • Java 以外の Iceberg implementation maturity を追っているアーキテクト

実務でまず確認したいこと

  1. Rust 1.88 以上への toolchain 更新が問題ないか確認する
  2. smol runtime 依存や deprecated API の利用有無を確認する
  3. DataFusion 51 / Arrow 57 への依存更新が周辺ライブラリと衝突しないか見る
  4. V3 metadata、delete file、schema evolution を含む representative table で read / write を検証する

どう読むべきか

このリリースは、Iceberg Rust が table-format semantics の深い部分へ入ってきたことを示します。Rust / DataFusion 系のデータ基盤では、Iceberg を後付け connector として扱うだけでなく、query planning や write path の中核に入れる選択肢が広がります。一方で breaking changes もあるため、production 導入では version pinning と regression test が必要です。