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_READaufTRUEeingestellt 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 aufFALSEfest. 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:
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.
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_READaufFALSEfü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