Binäre Apache Iceberg™-Spalten auf maximale Größe beschränken (Vorschau)

Achtung

Diese Verhaltensänderung ist in Bundle 2026_02 enthalten.

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

Wenn Sie den binären Datentyp für eine Spalte in einer Apache Iceberg™-Tabelle angeben, wird die Spalte immer dem binären Iceberg-Datentyp zugeordnet.

Vor der Änderung:

Sie können den binary(L)-Datentyp für eine neue Spalte in einer Iceberg-Tabelle mit der zugehörigen maximalen Länge L angeben. Der binary(L)-Datentyp wird dem Iceberg-fixed(L)-Datentyp anstelle des binären Iceberg-Datentyps zugeordnet. Darüber hinaus können Sie den Datentyp binary(L) für die Schlüssel und Elemente von neuen Spalten mit strukturierten Typen angeben, die ebenfalls dem Iceberg-fixed(L)-Datentyp zugeordnet sind. FürCTAS-Anweisungen wird eine:code:binary(L)-Spalte in der Quelltabelle mit einer binary(L)-Spalte in der neuen Tabelle erstellt.

Nach der Änderung:

In Iceberg-Tabellen müssen Sie den:code:binary data-Typ entweder als Binärwert oder binary(67108864) angeben. Diese Anforderung gilt, wenn Sie neue Spalten erstellen oder den Schlüssel oder das Element von Spalten des strukturierten Typs definieren. Beide Typen sind dem binären Iceberg-Datentyp zugeordnet. FürCTAS-Anweisungen wird eine:code:binary(L)-Spalte in der Quelltabelle mit einer binary(67108864)-Spalte in der neuen Tabelle erstellt. Diese Änderung betrifft nur neue Tabellen und neue Spalten in bestehenden Tabellen.

Diese Verhaltensänderung wird eingeführt, um die binären Spalten von Snowflake in Iceberg-Tabellen an den Iceberg-Binärtyp in Apache Iceberg™-Tabellenspezifikation anzupassen, der keine maximale Länge hat. Durch diese Änderung werden mehrdeutige binary(L)-Definitionen beseitigt, die mit der Iceberg -Spezifikation in Konflikt stehen und Interoperabilitätsprobleme mit externen Engines verursachen können. Sie können zum Beispiel vor der Änderung eine neue Spalte mit einem binären Datentyp hinzufügen, der eine maximale Länge hat, wie z. B.:code:binary(10). Dann könnte eine externe Engine einen Wert in diese Spalte einfügen, der die definierte maximale Länge überschreitet.

Ref: 2244