Pular para o conteúdo principal

Classe de erro INCONSISTENT_BEHAVIOR_CROSS_VERSION

SQLSTATE: 420KB

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

DATETIME_PATTERN_RECOGNITION

Spark >= 3.0:

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

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

DATETIME_WEEK_BASED_PATTERN

Spark >= 3.0:

Todos os padrões baseados em semanas não são suportados desde o Spark 3.0, o caractere baseado em semanas detectado: <c>.

Em vez disso, use a função SQL EXTRACT.

ANALISAR_DATETIME_BY_NEW_PARSER

Spark >= 3.0:

Falha ao analisar <datetime> no novo analisador.

O senhor pode definir <config> como "LEGACY" para restaurar o comportamento anterior a Spark 3.0, ou definir como "CORRECTED" e tratá-lo como uma cadeia de data e hora inválida.

READ_ANCIENT_DATETIME

Spark >= 3.0:

lendo datas antes de 1582-10-15 ou registros de data e hora antes de 1900-01-01T 00:00:00 Z

de <format> os arquivos podem ser ambíguos, pois os arquivos podem ser escritos por

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

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

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

a opção de fonte de dados <option> a “LEGACY” para rebasear os valores de data e hora

w.r.t. a diferença do calendário durante a leitura. Para ler os valores de data e hora

Como está, defina a configuração do SQL <config> ou a opção datasource <option>

para “CORRECTED”.

TBD

Spark >= <sparkVersion>: <details>

WRITE_ANCIENT_DATETIME

Spark >= 3.0:

A gravação de datas anteriores a 1582-10-15 ou de carimbos de data/hora anteriores a 1900-01-01T00:00:00Z em arquivos <format> pode ser perigosa, pois os arquivos podem ser lidos pelo Spark 2.x ou por versões legadas do Hive posteriormente, que usam um calendário híbrido legado diferente do calendário gregoriano proléptico do Spark 3.0+.

Veja mais detalhes em SPARK-31404.

Você pode definir <config> como “LEGACY” para rebasear os valores de data e hora em relação à diferença do calendário durante a gravação, para obter o máximo de interoperabilidade.

Ou defina a configuração como "CORRECTED" para gravar os valores de data e hora como estão, se o senhor tiver certeza de que os arquivos gravados só serão lidos pelo Spark 3.0+ ou por outros sistemas que usam o calendário gregoriano proléptico.