Udostępnij za pośrednictwem


INCONSISTENT_BEHAVIOR_CROSS_VERSION, klasa błędów

SQLSTATE: 42K0B

Może być wyświetlony inny wynik na skutek aktualizacji

DATETIME_PATTERN_RECOGNITION

Spark >= 3.0:

Nie można rozpoznać <pattern> wzorca w module DateTimeFormatter.

  1. Możesz ustawić <config> na "LEGACY", aby przywrócić zachowanie przed platformą Spark 3.0.
  2. Możesz utworzyć prawidłowy wzorzec daty/godziny, korzystając z przewodnika "<docroot>/sql-ref-datetime-pattern.html".

DATETIME_WEEK_BASED_PATTERN

Spark >= 3.0:

Wszystkie wzorce oparte na tygodniu nie są obsługiwane od czasu wykrycia znaku opartego na tygodniu platformy Spark 3.0: <c>.

Zamiast tego użyj funkcji SQL EXTRACT.

PARSE_DATETIME_BY_NEW_PARSER

Spark >= 3.0:

Nie można przeanalizować <datetime> w nowym analizatorze.

Możesz ustawić <config> na "LEGACY", aby przywrócić zachowanie przed platformą Spark 3.0 lub ustawić wartość "CORRECTED" i traktować ją jako nieprawidłowy ciąg daty/godziny.

READ_ANCIENT_DATETIME

Spark >= 3.0:

daty odczytu przed 1582-10-15 lub znaczniki czasu przed 1900-01-01T00:00:00Z

pliki <format> mogą być niejednoznaczne, ponieważ pliki mogą być zapisywane przez

Platforma Spark 2.x lub starsze wersje programu Hive, która używa starszego kalendarza hybrydowego

różni się to od proleptycznego kalendarza gregoriańskiego platformy Spark 3.0 lub nowszego.

Zobacz więcej szczegółów w SPARK-31404. Możesz ustawić konfigurację <config> SQL lub

Zmień opcję źródła danych <option> na „LEGACY”, aby zresetować wartości daty/godziny.

w.r.t. różnica kalendarza podczas czytania. Aby odczytać wartości daty/godziny

w takiej postaci ustaw konfigurację <config> SQL lub opcję źródła danych <option>

do "CORRECTED".

Do ustalenia

Spark >= <sparkVersion>: <details>

WRITE_ANCIENT_DATETIME

Spark >= 3.0:

Zapisywanie dat przed 1582-10-15 lub znacznikami czasu przed 1900-01-01T00:00:00Z do <format> plików może być niebezpieczne, ponieważ pliki mogą być odczytywane przez platformę Spark 2.x lub starsze wersje programu Hive później, które używają starszego kalendarza hybrydowego, który różni się od kalendarza Proleptycznego gregoriańskiego platformy Spark 3.0+.

Zobacz więcej szczegółów w SPARK-31404.

Możesz ustawić <config> na wartość "LEGACY", aby zmienić wartości daty i godziny względem różnicy kalendarzowej podczas zapisywania, aby uzyskać maksymalną współdziałalność.

Możesz też ustawić konfigurację na wartość "CORRECTED", aby zapisać wartości daty/godziny w taki sposób, jeśli masz pewność, że zapisane pliki będą odczytywane tylko przez platformę Spark 3.0 lub inne systemy korzystające z kalendarza proleptycznego gregoriańskiego.