Partilhar via


INCONSISTENT_BEHAVIOR_CROSS_VERSION classe de erro

SQLSTATE: 42K0B

Você pode obter um resultado diferente devido à atualização para:

DATETIME_PATTERN_RECOGNITION

Faísca >= 3,0:

Falha ao reconhecer <pattern> o padrão no DateTimeFormatter.

  1. Você pode definir <config> como "LEGACY" para restaurar o comportamento anterior ao Spark 3.0.
  2. Você pode formar um padrão datetime válido com o guia de '/sql-ref-datetime-pattern.html'<docroot>.

PARSE_DATETIME_BY_NEW_PARSER

Faísca >= 3,0:

Falha ao analisar <datetime> no novo analisador.

Você pode definir como "LEGACY" para restaurar o comportamento antes do Spark 3.0 ou definir <config> como "CORRIGIDO" e tratá-lo como uma cadeia de caracteres datetime inválida.

READ_ANCIENT_DATETIME

Faísca >= 3,0:

datas de leitura antes de 1582-10-15 ou carimbos de data/hora antes de 1900-01-01T00:00:00Z

de <format> arquivos pode ser ambíguo, como os arquivos podem ser escritos por

Spark 2.x ou versões herdadas do Hive, que usa um calendário híbrido herdado

isso é diferente do calendário gregoriano proléptico do Spark 3.0+.

Veja mais detalhes em SPARK-31404. Você pode definir a configuração <config> SQL ou

a opção <option> de fonte de dados para "LEGACY" para rebasear os valores datetime

w.r.t. a diferença de calendário durante a leitura. Para ler os valores datetime

como está, defina a configuração <config> SQL ou a opção de fonte de dados <option>

para "CORRIGIDO".

WRITE_ANCIENT_DATETIME

Faísca >= 3,0:

escrever datas antes de 1582-10-15 ou carimbos de data/hora antes de 1900-01-01T00:00:00Z em <format> arquivos pode ser perigoso, pois os arquivos podem ser lidos pelo Spark 2.x ou versões legadas do Hive mais tarde, que usa um calendário híbrido legado que é diferente do calendário gregoriano proléptico do Spark 3.0+.

Veja mais detalhes em SPARK-31404.

Você pode definir <config> como "LEGADO" para rebasear os valores datetime w.r.t. a diferença de calendário durante a escrita, para obter o máximo de interoperabilidade.

Ou defina a configuração como "CORRIGIDO" para escrever os valores datetime como estão, se você tiver certeza de que os arquivos escritos só serão lidos pelo Spark 3.0+ ou outros sistemas que usam o calendário gregoriano proléptico.