Stärkere UTF-8-Validierung für externe Dateien¶
Diese Verhaltensänderung wurde mit Release 7.34 eingeführt. Aktuelle Details zu den Verhaltensänderungen finden Sie unter Änderungsprotokoll für Verhaltensänderungen (Behavior Change Log).
Snowflake bietet stärkere UTF-8-Validierung für externe Dateien.
- Vor der Änderung:
Wenn Sie externe Avro-, Parquet-, Orc-, CSV-, JSON- oder XML-Dateien abfragen, die ungültige UTF-8-Daten enthalten, sind die Abfragen normalerweise erfolgreich.
- Nach der Änderung:
Wenn Sie externe Avro-, Parquet-, Orc-, CSV-, JSON- oder XML-Dateien in einem Stagingbereich abfragen, die ungültige UTF-8-Daten enthalten, schlagen die Abfragen fehl.
Wenn Sie externe Dateien mit COPY INTO <Tabelle> oder Snowpipe laden, die ungültige UTF-8-Daten enthalten, fährt Snowflake mit der in der Objektdefinition angegebenen Kopieroption
ON_ERROR
fort.Wenn Sie eine externe Tabelle abfragen, lässt Snowflake die Ergebnisse für Datensätze aus, die ungültige UTF-8-Daten enthalten. Wenn Snowflake auf ungültige Daten stößt, fährt es mit dem Scannen der Datei fort (ähnlich wie
ON_ERROR = CONTINUE
), gibt jedoch keine Fehlermeldung aus.
Um UTF-8-Validierungsfehler zu vermeiden, empfiehlt Snowflake, dass Sie für Ihr Dateiformat REPLACE_INVALID_CHARACTERS = TRUE
angeben, sodass für alle ungültigen UTF-8-Zeichen das Unicode-Ersetzungszeichen (�
) verwendet wird.
Bei Parquet-Dateien können Sie für Ihr Dateiformat auch BINARY_AS_TEXT = FALSE
einstellen, sodass Spalten ohne definierten logischen Datentyp als Binärdaten statt als UTF-8-Text interpretiert werden.
Beachten Sie, dass diese Verhaltensänderung nicht für bestehende Konten gilt, die derzeit ungültige UTF8-Zeichen laden. Die Änderung betrifft nur neue Konten. Bei Problemen wenden Sie sich an den Snowflake-Support.
Ref.: 1013 1014