Skip to main content

Posts

Showing posts from December, 2024

Trino contribution 2024

2024年にTrinoにコントリビュートした記録をまとめてみました。バグの修正などは除外して、ユーザーに関わる機能にしぼっています。 Delta Lakeコネクタはdelta-kernelを利用せずにトランザクションログやチェックポイントのパースを始め、読み書きを自前で実装していることもあり、ここ2年は作業量が多かったのですが、Delta側が Table Features を導入してからはreaderとwriterのバージョンがあがらなくなり、落ち着いてきました。 プロトコル や RFC も以前ほど頻繁には変更されていない印象を受けます。 そういった背景もあり、Delta Lakeの Variant型 の対応がまだ進行中ですが、先月からは基本的にIcebergのみに完全に注力していくことになりました。現在はIcebergコネクタをWAP(Write-Audit- Publish)パターンを実現できるようにシンタックスの追加を進めています。あとは V3スペック についても対応中です。 Iceberg add_files および add_files_from_table プロシージャの追加 #22751 Sparkのプロシージャと基本的には同じように動作しますが、1つ違いを挙げるとスキーマのバリデーションを追加しています。Sparkでは NOT NULL カラムに対しても NULL が入ったファイルを追加できるのですが、Trino側ではエラーを投げるようにしています。 $all_manifests  メタデータテーブルの追加 #24330 $all_entries メタデータテーブルの追加 #24543 $entries メタデータテーブルの追加 #24172 ALTER COLUMN ... DROP NOT NULL  ステートメントのサポート #20448 Delta Lake Deletion Vectorの書き込みサポート #22102 タイムトラベルクエリのサポート  #21052 メタデータをメタストアにバックグラウンドで保存 #21463 Delta LakeやIcebergでよく問題になるのが information_schema...