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 impostare su "CORRECTED" e considerarlo come una 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 altri dettagli, vedere SPARK-31404. È possibile impostare la configurazione SQL <config> o

l'opzione del datasource <option> a "LEGACY" per ricalibrare i valori datetime

w.r.t. differenza di calendario durante la lettura. Per leggere i valori di data e ora

così com'è, impostare la configurazione SQL <config> o l'opzione del datasource <option>

to "CORRECTED".

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 altri dettagli, vedere SPARK-31404.

È possibile impostare <config> su "LEGACY" per riadeguare i valori di data e ora relativamente alla differenza di calendario durante la scrittura, al fine di 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.