Sdílet prostřednictvím


INCONSISTENT_BEHAVIOR_CROSS_VERSION třída chyb

SQLSTATE: 42K0B

Může se zobrazit jiný výsledek z důvodu aktualizace na novou verzi.

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> naLEGACY.
  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 nastavit <config> na "LEGACY", nebo ho nastavit na "CORRECTED" a považovat jako neplatný řetězec data a času.

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 v SPARK-31404. Můžete nastavit konfiguraci <config> SQL nebo

Nastavte možnost zdroje dat <option> na "LEGACY" pro přepočet 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 "CORRECTED".

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 v SPARK-31404.

Pro maximální interoperabilitu můžete nastavit <config> na hodnotu "LEGACY", aby se hodnoty data a času přizpůsobily rozdílu kalendáře během psaní.

Nebo nastavte konfiguraci na "CORRECTED" 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ář.