Condividi tramite


classe di errore INCONSISTENT_BEHAVIOR_CROSS_VERSION

SQLSTATE: 42K0B

È possibile ottenere un risultato diverso a causa dell'aggiornamento a:

DATETIME_PATTERN_RECOGNITION

Spark >= 3.0:

Non è possibile riconoscere <pattern> il modello in DateTimeFormatter.

  1. È possibile impostare <config> su "LEGACY" per ripristinare il comportamento prima di Spark 3.0.
  2. È possibile formare un modello datetime valido con la guida di '<docroot>/sql-ref-datetime-pattern.html'.

DATETIME_WEEK_BASED_PATTERN

Spark >= 3.0:

Tutti i modelli basati su settimana non sono supportati a partire da Spark 3.0, rilevato carattere basato su settimana: <c>.

Usare invece la funzione SQL EXTRACT.

PARSE_DATETIME_BY_NEW_PARSER

Spark >= 3.0:

Non è possibile analizzare <datetime> nel nuovo parser.

È possibile impostare <config> su "LEGACY" per ripristinare il comportamento prima di Spark 3.0 o su "CORRECTED" e considerarlo come stringa datetime non valida.

READ_ANCIENT_DATETIME

Spark >= 3.0:

data di lettura prima del 1582-10-15 o timestamp prima del 1900-01-01T00:00:00Z

dai <format> file può essere ambiguo, in quanto i file possono essere scritti da

Spark 2.x o versioni legacy di Hive, che usa un calendario ibrido legacy

diverso dal calendario gregoriano proleptico di Spark 3.0+.

Per altre informazioni, vedere SPARK-31404. È possibile impostare la configurazione <config> SQL o

opzione dell'origine <option> dati su "LEGACY" per ribasere i valori datetime

w.r.t. differenza di calendario durante la lettura. Per leggere i valori datetime

così come è, impostare la configurazione <config> SQL o l'opzione dell'origine dati <option>

su "CORRETTO".

Da definire

Spark >= <sparkVersion>: <details>

WRITE_ANCIENT_DATETIME

Spark >= 3.0:

scrivere date prima del 1582-10-15 o timestamp prima del 1900-01-01T00:00:00Z nei <format> file può essere pericoloso, perché i file possono essere letti da Spark 2.x o versioni legacy di Hive in un secondo momento, che usa un calendario ibrido legacy diverso dal calendario gregoriano di Spark 3.0+.

Per altre informazioni, vedere SPARK-31404.

È possibile impostare <config> su "LEGACY" per ribasere i valori datetime w.r.t. la differenza di calendario durante la scrittura per ottenere la massima interoperabilità.

In alternativa, impostare la configurazione su "CORRECTED" per scrivere i valori datetime così com'è, se si è certi che i file scritti verranno letti solo da Spark 3.0+ o da altri sistemi che usano il calendario gregoriano proleptico.