Поделиться через


Класс ошибок INCONSISTENT_BEHAVIOR_CROSS_VERSION

SQLSTATE: 42K0B

Вы можете получить другой результат из-за обновления программы.

DATETIME_PATTERN_RECOGNITION

Spark >= 3.0:

Не удается распознать <pattern> шаблон в DateTimeFormatter.

  1. Вы можете задать для <config> значение "LEGACY", чтобы восстановить поведение до Spark 3.0.
  2. Вы можете сформировать допустимый шаблон даты и времени с помощью руководства из "<docroot>/sql-ref-datetime-pattern.html".

DATETIME_WEEK_BASED_PATTERN

Spark >= 3.0:

Все шаблоны на основе недели не поддерживаются, так как Spark 3.0 обнаружил символ на основе недели: <c>

Вместо этого используйте функцию SQL EXTRACT.

PARSE_DATETIME_BY_NEW_PARSER

Spark >= 3.0:

Не удается проанализировать новый средство синтаксического анализа <datetime> .

Вы можете задать для <config> значение "LEGACY" для восстановления поведения до Spark 3.0 или задать значение "CORRECTED" и рассматривать его как недопустимую строку даты и времени.

READ_ANCIENT_DATETIME

Spark >= 3.0:

считывание дат до 1582-10-15 или меток времени до 1900-01-01T00:00:00Z

Из <format> файлов может быть неоднозначным, так как файлы могут быть записаны

в Spark 2.x или устаревших версиях Hive, в которых используется устаревший гибридный календарь,

который отличается от пролептического григорианского календаря, используемого в Spark 3.0+.

Дополнительные сведения см. в SPARK-31404. Можно задать конфигурацию <config> SQL или

Измените параметр источника данных <option> на "LEGACY", чтобы пересчитать значения даты и времени.

относительно разницы в календаре во время чтения. Чтобы считать значения даты и времени

Как это так, задайте конфигурацию <config> SQL или параметр источника данных <option>

к "CORRECTED".

Подлежит уточнению

Spark >= <sparkVersion>: <details>

WRITE_ANCIENT_DATETIME

Spark >= 3.0:

Запись дат до 1582-10-15 или меток времени до 1900-01-01T00:00:00Z <format> в файлы может быть опасной, так как файлы могут быть считываются Spark 2.x или устаревшими версиями Hive позже, который использует устаревший гибридный календарь, отличный от Proleptic Григорианского календаря Spark 3.0+.

Дополнительные сведения см. в SPARK-31404.

Вы можете установить для <config> значение "LEGACY", чтобы перебазировать значения даты и времени относительно разницы в календаре во время записи и обеспечить максимальную совместимость.

Или задайте для конфигурации значение "CORRECTED" для записи значений даты и времени, если вы уверены, что записанные файлы будут считываться только Spark 3.0+ или другими системами, используюющими пролептический григорианский календарь.