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