Snowflake管理の|iceberg-tm| v2テーブルの位置削除ファイルを使用したマージオンリード(保留中)¶
- 変更前:
Iceberg v2のSnowflake管理の|iceberg-tm|テーブルの場合、DELETE、UPDATE、またはMERGEステートメントを実行しても、Snowflakeはマージオンリード用の`位置削除ファイル<https://iceberg.apache.org/spec/#position-delete-files>`_を書き込みません。代わりに、Snowflakeはこれらの操作にコピーオンライトを使用します。
- 変更後:
アカウントで2026_03動作変更バンドルが有効になっている場合、システムのデフォルトである:code:`ENABLE_ICEBERG_MERGE_ON_READ`が:code:`TRUE`であると、Iceberg v2のSnowflake管理の|iceberg-tm|テーブルは、DELETE、UPDATE、およびMERGEに対してデフォルトで位置削除ファイルを使用したマージオンリードを使用します。Snowflakeは、テーブルのIcebergストレージの場所にあるデータファイルと一緒に位置削除ファイルを書き込みます。この動作は、マージオンリードが有効になっている場合に、外部管理のIceberg v2テーブルでSnowflakeがすでに位置削除ファイルを使用している方法と一致しています。
マージオンリードをオフにして、これらのDML操作の代わりにコピーオンライトを使用するには、テーブル、スキーマ、またはデータベースレベルで:code:
ENABLE_ICEBERG_MERGE_ON_READ`パラメーターを:code:`FALSE`に設定します。詳細については、 :ref:`label-enable_iceberg_merge_on_readをご参照ください。外部クエリエンジンとの互換性
位置削除ファイルには、外部エンジンのIceberg形式バージョンによるサポートが必要です。v2より前のバージョンのIcebergに依存する外部クエリエンジンを使用した場合、そのエンジンは位置削除ファイルをサポートしない可能性があり、Snowflakeが位置削除ファイルを書き込んだ後に、Snowflake管理のIceberg v2テーブルのテーブルメタデータを読み取れない可能性があります。
本番アカウントで変更が有効になる前に、次の操作を実行します。
Snowflake管理の|iceberg-tm| v2テーブルの読み取りに使用するすべての外部クエリエンジンが、`位置削除ファイル<https://iceberg.apache.org/spec/#position-delete-files>`_(Iceberg v2以降)をサポートしていることを確認します。
位置削除ファイルをサポートしていないエンジンがある場合は、そのエンジンをIceberg v2以降に基づくリリースにアップグレードするか、関連するテーブル(またはそれを含むスキーマやデータベース)の:code:`ENABLE_ICEBERG_MERGE_ON_READ`を:code:`FALSE`に設定して、Snowflakeが引き続きコピーオンライトを使用し、位置削除ファイルを書き込まないようにします。
Snowflakeの位置削除ファイル、マージオンリード、および関連パラメーターについて詳しくは、:ref:`label-tables_iceberg_row_level_deletes`を参照してください。
参照:2279