Teilen über


Fehlerbedingung für INCONSISTENT_BEHAVIOR_CROSS_VERSION

SQLSTATE: 42K0B

Möglicherweise erhalten Sie aufgrund des Upgrades ein anderes Ergebnis

DATETIME_PATTERN_RECOGNITION

Spark >= 3,0:

Es ist ein Fehler beim Erkennen des <pattern>-Musters im DateTimeFormatter aufgetreten.

  1. Sie können <config> auf "LEGACY" einstellen, um das Verhalten von vor Spark 3.0 wiederherzustellen.

  2. Sie können ein gültiges Datetime-Muster mit dem Leitfaden aus "<docroot>/sql-ref-datetime-pattern.html" bilden.

DATETIME_WEEK_BASED_PATTERN

Spark >= 3,0:

Alle wochenbasierten Muster werden seit Spark 3.0 nicht unterstützt, das wochenbasierte Zeichen wird erkannt: <c>.

Verwenden Sie stattdessen die SQL-Funktion EXTRACT .

PARSE_DATETIME_BY_NEW_PARSER

Spark >= 3,0:

Im neuen Parser ist ein Fehler beim Parsen von <datetime> aufgetreten.

Sie können <config> auf "LEGACY" festlegen, um das Verhalten vor Spark 3.0 wiederherzustellen, oder <config> auf "CORRECTED" setzen und es als ungültige Datum/Uhrzeit-Zeichenfolge behandeln.

READ_ANCIENT_DATETIME

Spark >= 3,0:

Das Lesen von Daten vor 1582-10-15 oder Zeitstempeln vor 1900-01-01T00:00:00Z

aus <format> Dateien kann mehrdeutig sein, da die Dateien möglicherweise geschrieben werden von

Spark 2.x oder Legacyversionen von Hive geschrieben wurden, wobei ein Legacyhybridkalender verwendet wird,

das unterscheidet sich von dem Proleptischen Gregorianischen Kalender von Spark 3.0+.

Weitere Informationen finden Sie in SPARK-31404. Sie können die SQL-Konfiguration <config> festlegen oder

die Datenquellenoption <option> auf "LEGACY" setzen, um die Datetime-Werte neu zu basieren

mit Rücksicht auf die Kalenderunterschiede auszuführen. Wenn Sie die datetime-Werte

so lesen möchten, wie sie angezeigt werden, legen Sie die SQL-Konfiguration <config> oder die Datenquellenoption <option> fest

in "CORRECTED".

TBD

Spark >= <sparkVersion>: <details>

WRITE_ANCIENT_DATETIME

Spark >= 3,0:

Das Schreiben von Datumsangaben vor 1582-10-15 oder Zeitstempeln vor 1900-01-01T00:00:00Z in <format> Dateien kann gefährlich sein, da die Dateien von Spark 2.x oder älteren Versionen von Hive später gelesen werden können, was einen älteren Hybridkalender verwendet, der sich von Spark 3.0+ proleptic gregorianischen Kalender unterscheidet.

Weitere Informationen finden Sie in SPARK-31404.

Sie können "<config>" auf "LEGACY" festlegen, um die Datetime-Werte im Hinblick auf den Kalenderunterschied während des Schreibens neu auszurichten und so maximale Interoperabilität zu erreichen.

Oder legen Sie die Konfiguration auf "CORRECTED" fest, um die Datum-Zeit-Werte so zu schreiben, wie sie sind, wenn Sie sicher sind, dass die geschriebenen Dateien nur von Spark 3.0+ oder anderen Systemen gelesen werden, die den proleptischen gregorianischen Kalender verwenden.