INCONSISTENT_BEHAVIOR_CROSS_VERSION classe de erro
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.
- Você pode definir
<config>
como "LEGACY" para restaurar o comportamento anterior ao Spark 3.0. - 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.