Sdílet prostřednictvím


INCONSISTENT_BEHAVIOR_CROSS_VERSION třída chyb

SQLSTATE: 42K0B

Může se zobrazit jiný výsledek z důvodu upgradu na:

DATETIME_PATTERN_RECOGNITION

Spark >= 3,0:

Ve formátu DateTimeFormatter se nepovede rozpoznat <pattern> vzor.

  1. Pokud chcete obnovit chování před Sparkem 3.0, můžete nastavit <config> na hodnotu LEGACY.
  2. Platný vzor data a času můžete vytvořit pomocí průvodce z /<docroot>sql-ref-datetime-pattern.html.

DATETIME_WEEK_BASED_PATTERN

Spark >= 3,0:

Všechny týdenní vzory nejsou podporovány od Sparku 3.0, zjištěný znak založený na týdnu: <c>.

Místo toho použijte funkci SQL EXTRACT.

PARSE_DATETIME_BY_NEW_PARSER

Spark >= 3,0:

V novém analyzátoru se nepovede parsovat <datetime> .

Pokud chcete obnovit chování před Sparkem 3.0, můžete ho nastavit <config> na legacy (STARŠÍ VERZE) nebo nastavit hodnotu CORRECTED a považovat ho za neplatný řetězec datetime.

READ_ANCIENT_DATETIME

Spark >= 3,0:

čtení kalendářních dat před 1582-10-15 nebo časovými razítky před 1900-01-01T00:00:00Z

soubory <format> mohou být nejednoznačné, protože soubory mohou být zapsány pomocí

Spark 2.x nebo starší verze Hivu, které používají starší hybridní kalendář

liší se od proleptického gregoriánského kalendáře Sparku 3.0+.

Další podrobnosti najdete ve SPARK-31404. Můžete nastavit konfiguraci <config> SQL nebo

možnost <option> zdroje dat "LEGACY" pro opětovné vytvoření základu hodnot data a času

w.r.t. rozdíl v kalendáři během čtení. Čtení hodnot datetime

nastavte konfiguraci <config> SQL nebo možnost zdroje dat. <option>

na "OPRAVENO".

TBD

Spark >= <sparkVersion>: <details>

WRITE_ANCIENT_DATETIME

Spark >= 3,0:

Zápis kalendářních dat před 1582-10-15 nebo časovými razítky před 1900-01-01T00:00:00Z do <format> souborů může být nebezpečné, protože soubory mohou být přečteny Sparkem 2.x nebo staršími verzemi Hive později, který používá starší hybridní kalendář, který se liší od proleptického gregoriánského kalendáře Spark 3.0+.

Další podrobnosti najdete ve SPARK-31404.

Pokud chcete získat maximální interoperabilitu, můžete nastavit <config> hodnotu LEGACY a změnit tak hodnoty data a času w.r.t. rozdíl v kalendáři během psaní.

Nebo nastavte konfiguraci na "OPRAVENO" pro zápis hodnot data a času tak, jak je, pokud jste si jisti, že zapsané soubory budou číst pouze Spark 3.0+ nebo jiné systémy, které používají proleptic gregoriánský kalendář.