Trino 479リリースノート日本語訳

今回もIcebergコネクタ等を中心にバグ修正や細かい改善が多いですね。コア機能だとSELECTでもLineageが効くようになっているのは嬉しいかも。クエリに正規表現でリソースグループを選択できるようになっているのもユースケースによっては便利そうです。

原文はこちら: https://trino.io/docs/current/release/release-479.html

General

  • ノードディスカバリ方式がANNOUNCEに設定されている場合、クラスタ内部通信向けのTLS証明書を自動生成するようになった (#27030)
  • Exchange Managerの設定ファイルの場所を指定できるようになった (#26611)
  • クエリがFINISHING状態だった時間をイベントリスナーに送信するようになった (#27202)
  • SELECTクエリの出力カラムに対するlineageをサポート (#26241)
  • ALTER TABLE ... ALTER COLUMNで、カラムのデフォルト値の設定および削除をサポート (#26162)
  • array_first()およびarray_last()関数を追加 (#27295)
  • SHOW CREATE MATERIALIZED VIEWの出力にGRACE PERIODを追加 (#27529)
  • rowリテラルでフィールド名の宣言をサポート(例えばrow(1 as a, 2 as b)のように記述できる) (#25261)
  • リソースグループセレクタqueryText正規表現として指定可能に (#27129)
  • Trino のビルドおよび実行にJDK 25が必須に (#27153)
  • 破壊的変更: コンフィグレーションプロパティtask.statistics-cpu-timer-enabledを削除 (#27504)
  • EXPLAINLOGICALおよびDISTRIBUTEDのタイプ指定を非推奨に。今後はタイプ指定なしでEXPLAINを使用すること (#27434)
  • セッションプロパティprefer_streaming_operatorsを削除 (#27506)
  • 新しいCPUアーキテクチャ(Graviton 3、Skylake、Icelake、Zen 4+)向けに、リモートデータエクスチェンジの実験的なパフォーマンス改善を追加。exchange.experimental.vectorized-serde.enabled=false で無効化可 (#27426, #26919)
  • array_sort() 関数のパフォーマンスを改善 (#27272)
  • repeat()関数のパフォーマンスを改善 (#27369)
  • 可変長データを含むデータエクスチェンジのパフォーマンスを改善 (#27377)
  • フレッシュなマテリアライズドビューを参照するクエリのパフォーマンスを改善 (#27551)
  • UNIONの一方のブランチが0行を返すことが分かっている場合に、プランニング時にクエリが失敗する問題を修正 (#21506)
  • スプーリングプロトコルパーティションレイアウトを設定できない問題を修正 (#27247)
  • varcharにキャストできない型をWHERE句に含む場合にEXPLAIN (TYPE IO)が失敗する問題を修正 (#27433)

Web UI

  • プレビューUIのクエリ詳細画面で長い単一行クエリを正しく表示するようにした (#27328)
  • プレビューUIでカタログプロパティを正しく表示するようにした (#27327)

JDBC driver

  • 任意のHTTP ヘッダーを送信できるextraHeadersオプションを追加 (#15826)

Docker image

CLI

  • 任意のHTTPヘッダを指定するための--extra-headerオプションを追加 (#15826)
  • "."を含まない単一ラベルのホスト名を使用した場合にTLS接続が失敗する問題を修正 (#27478)

BigQuery connector

  • queryテーブル関数の結果を再利用した場合にクエリが失敗する問題を修正 (#27573)

Delta Lake connector

  • GCS向けにAPPLICATION_DEFAULT認証タイプを追加 (#26984)
  • 破壊的変更: GCS認証タイプSERVICE_ACCOUNTにおける未認証アクセスを削除 (#26984)
  • s3.exclusive-createdelta.s3.transaction-log-conditional-writes.enabledにリネーム (#27372)
  • 破壊的変更: delta.s3.transaction-log-conditional-writes.enabled=falseが設定されていない限り、 S3バケット上のテーブルへの書き込みにPutObjectTagging権限が必須になった (#27388)
  • IS NOT DISTINCT FROMを含むクエリで誤った結果が返る問題を修正 (#27213)
  • Databricks 17.3で作成されたテーブルへの書き込みが失敗する問題を修正 (#27100)
  • Azureの階層型ネームスペースをチェックする際のエラーを修正 (#27278)
  • 非常に大きな値を含むParquetカラム読み込み時にワーカーがクラッシュしないようクエリを失敗させるようにした (#27148)
  • S3書き込み中のネットワーク障害によりFileAlreadyExistsExceptionが発生する可能性を修正 (#27330, #27388)
  • Databricks のクローンテーブルを読み取る際に失敗する問題を修正 (#27098)

Hive connector

  • GCS向けにAPPLICATION_DEFAULT認証タイプを追加 (#26984)
  • 破壊的変更: GCS認証タイプSERVICE_ACCOUNTにおける未認証アクセスを削除 (#26984)
  • s3.exclusive-createdelta.s3.transaction-log-conditional-writes.enabledにリネーム (#27372)
  • OVERWRITE動作を伴うINSERTクエリで書き込まれるテーブル統計情報の精度を改善 (#26517)
  • Azureの階層型ネームスペースをチェックする際のエラーを修正 (#27278)
  • 非常に大きな値を含むParquetカラム読み込み時にワーカーがクラッシュしないようクエリを失敗させるようにした (#27148)
  • S3書き込み中のネットワーク障害によりFileAlreadyExistsExceptionが発生する可能性を修正 (#27330)
  • AWS Glueで不正なテーブルメタデータが存在する場合にテーブル一覧取得が失敗する問題を修正 (#27525)

Hudi connector

  • GCS向けにAPPLICATION_DEFAULT認証タイプを追加 (#26984)
  • 破壊的変更: GCS認証タイプSERVICE_ACCOUNTにおける未認証アクセスを削除 (#26984)
  • Azureの階層型ネームスペースをチェックする際のエラーを修正 (#27278)
  • 非常に大きな値を含むParquetカラム読み込み時にワーカーがクラッシュしないようクエリを失敗させるようにした (#27148)
  • S3書き込み中のネットワーク障害によりFileAlreadyExistsExceptionが発生する可能性を修正 (#27330)
  • ディレクトリを含むHDFSをクエリした場合に失敗する問題を修正 (#26897)

Iceberg connector

  • iceberg.rest-catalog.oauth2.token-exchange-enabledコンフグレーションプロパティでtoken-exchange-enabledを更新できるようにした (#27174)
  • expire_snapshotsコマンドにretain_lastおよびclean_expired_metadata オプションを追加 (#27357)
  • GCS向けにAPPLICATION_DEFAULT認証タイプを追加 (#26984)
  • 破壊的変更: GCS認証タイプSERVICE_ACCOUNTにおける未認証アクセスを削除 (#26984)
  • 重度にネストしたフィールドを含むテーブルにおけるメモリ使用量を削減 (#25077)
  • テーブルのパーティション変更後に$filesテーブルをクエリすると失敗する問題を修正 (#26746)
  • IS NOT DISTINCT FROMを含むクエリで誤った結果が返る問題を修正 (#27213)
  • Azureの階層型ネームスペースをチェックする際のエラーを修正 (#27278)
  • 非常に大きな値を含むParquetカラム読み込み時にワーカーがクラッシュしないようクエリを失敗させるようにした (#27148)
  • S3書き込み中のネットワーク障害によりFileAlreadyExistsExceptionが発生する可能性を修正 (#27330)
  • CASCADEオプション付きでスキーマを削除した場合に失敗する可能性がある問題を修正 (#27361)
  • Grace period中にマテリアライズドビューをクエリする際に存在しない、または破損したIcebergベーステーブルを無視するようにした (#27606)

Loki connector

  • コネクタ初期化時に失敗する問題を修正 (#27180)

Memory connector

  • ALTER TABLE ... ALTER COLUMN文によるカラムデフォルト値の設定および削除をサポート (#26162)
  • スキーマ内に複数のテーブルが存在する場合にRENAME SCHEMAが失敗する問題を修正 (#27205)

MySQL connector

  • IS NOT DISTINCT FROMを含むクエリで誤った結果が返る問題を修正 (#27213)

PostgreSQL connector

  • IS NOT DISTINCT FROMを含むクエリで誤った結果が返る問題を修正 (#27213)

Redshift connector

  • Redshift のcharacter varying型を読み取る際に失敗する問題を修正 (#27224)

SQL Server connector

  • テーブルおよびカラム一覧取得時に失敗する可能性がある問題を修正 (#10846)

SPI

  • RowBlockBuilderにコールバック非依存のエントリビルダーを追加 (#27198)
  • ArrayBlockBuilderにコールバック非依存のエントリビルダーを追加 (#27198)
  • ColumnMetadata.builderFromがカラムのデフォルト値を保持しない問題を修正 (#27503)