Merge-on-Read mit positionsbezogenen Löschdateien für Snowflake-verwaltete Apache Iceberg™ v2-Tabellen (Ausstehend)

Achtung

Diese Verhaltensänderung ist in Bundle 2026_03 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Vor der Änderung:

Für Snowflake-verwaltete Apache Iceberg™-Tabellen bei Iceberg v2 schreibt Snowflake keine positionsbezogenen Löschdateien für Merge-on-Read, wenn Sie DELETE-, UPDATE- oder MERGE-Anweisungen ausführen. Snowflake verwendet für diese Operationen stattdessen „Copy-on-Write“.

Nach der Änderung:

Wenn das Verhaltensänderungs-Bundle 2026_03 in Ihrem Konto aktiviert ist, verwenden von Snowflake verwaltete Apache Iceberg™-Tabellen bei Iceberg v2 standardmäßig Merge-on-Read bei positionsbezogenen Löschdateien für DELETE, UPDATE und MERGE, wenn ENABLE_ICEBERG_MERGE_ON_READ auf TRUE eingestellt ist, was der Standardwert des Systems ist. Snowflake schreibt positionsbezogene Löschdateien zusammen mit Ihren Datendateien in den Iceberg-Speicherort der Tabelle. Dieses Verhalten stimmt damit überein, dass Snowflake bereits positionsbezogene Löschdateien für extern verwaltete Iceberg v2-Tabellen verwendet, wenn Merge-on-Read aktiviert ist.

Um Merge-on-Read zu deaktivieren und stattdessen Copy-on-Write für diese DML-Operationen zu verwenden, legen Sie den ENABLE_ICEBERG_MERGE_ON_READ-Parameter auf Tabellen-, Schema- oder Datenbankebene auf FALSE fest. Weitere Informationen dazu finden Sie unter ENABLE_ICEBERG_MERGE_ON_READ.

Kompatibilität mit externen Abfrage-Engines

Positionsbezogene Löschdateien erfordern Unterstützung von der Iceberg-Format-Version in Ihrer externen Engine. Wenn Sie eine externe Abfrage-Engine verwenden, die auf einer Version von Iceberg vor v2 basiert, unterstützt diese Engine möglicherweise keine positionsbezogenen Löschdateien und kann die Tabellenmetadaten für Ihre von Snowflake verwalteten Iceberg v2-Tabellen möglicherweise nicht lesen, nachdem Snowflake positionsbezogene Löschdateien geschrieben hat.

Bevor die Änderung in Ihren Produktionskonten wirksam wird, müssen Sie Folgendes tun:

  1. Stellen Sie sicher, dass jede externe Abfrage-Engine, die Sie zum Lesen von Snowflake-verwalteten Apache Iceberg™ v2-Tabellen verwenden, positionsbezogene Löschdateien (Iceberg v2 oder höher) unterstützt.

  2. Wenn eine Engine keine positionsbezogenen Löschdateien unterstützt, aktualisieren Sie entweder diese Engine auf ein Release, das auf Iceberg v2 oder höher basiert, oder legen Sie ENABLE_ICEBERG_MERGE_ON_READ auf FALSE für die relevanten Tabellen (oder das enthaltene Schema oder die Datenbank) fest, sodass Snowflake weiterhin Copy-on-Write verwendet und keine positionsbezogenen Löschdateien schreibt.

Weitere Informationen zu positionsbezogenen Löschdateien, Merge-on-Read und zugehörigen Parametern in Snowflake finden Sie unter Löschungen auf Zeilenebene verwenden.

Ref: 2279