Partager via


Classe d’erreur INCONSISTENT_BEHAVIOR_CROSS_VERSION

SQLSTATE: 42K0B

Il se peut que vous obteniez un résultat différent en raison de la mise à niveau vers :

DATETIME_PATTERN_RECOGNITION

Spark >= 3.0 :

Impossible de reconnaître le modèle <pattern> dans DateTimeFormatter.

  1. Vous pouvez définir <config> sur « LEGACY » pour restaurer le comportement antérieur à Spark 3.0.
  2. Vous pouvez former un modèle DateHeure valide avec le guide fourni de ‘<docroot>/sql-ref-datetime-pattern.html’.

DATETIME_WEEK_BASED_PATTERN

Spark >= 3.0 :

Tous les modèles basés sur la semaine ne sont pas pris en charge depuis Spark 3.0. Caractère basé sur la semaine détecté : <c>.

Utilisez plutôt la fonction SQL EXTRACT.

PARSE_DATETIME_BY_NEW_PARSER

Spark >= 3.0 :

Échec de l’analyse de <datetime> dans le nouvel analyseur.

Vous pouvez définir <config> sur « LEGACY » pour restaurer le comportement antérieur à Spark 3.0, ou définir la valeur sur « CORRECTED » et la traiter comme une chaîne DateHeure non valide.

READ_ANCIENT_DATETIME

Spark >= 3.0 :

la lecture de dates avant 1582-10-15 ou d’horodatages avant 1900-01-01T00:00:00Z

à partir de fichiers <format> peut être ambiguë, car les fichiers peuvent être écrits par

Spark 2.x ou des versions héritées de Hive, qui utilisent un calendrier hybride hérité

qui est différent du calendrier grégorien proleptique de Spark 3.0+.

Pour plus d’informations, consultez SPARK-31404. Vous pouvez définir la configuration <config> SQL ou

l’option de source de données <option> sur « LEGACY » pour rebaser les valeurs DateHeure

afin de gérer la différence de calendrier lors de la lecture. Pour lire les valeurs datetime

telles quelles, définissez la configuration <config> SQL ou l’option de source de données <option>

sur « CORRECTED ».

À définir

Spark >= <sparkVersion> : <details>

WRITE_ANCIENT_DATETIME

Spark >= 3.0 :

Écrire des dates antérieures à 1582-10-15 ou des timestamps avant 1900-01-01T00:00:00Z dans des fichiers <format> peut être dangereux, car les fichiers peuvent être lus par Spark 2.x ou des versions héritées de Hive ultérieurement, qui utilise un calendrier hybride hérité différent du calendrier grégorien proleptique de Spark 3.0+.

Pour plus d’informations, consultez SPARK-31404.

Vous pouvez définir <config> sur « LEGACY » pour rebaser les valeurs DateHeure en fonction de la différence de calendrier lors de l’écriture, afin d’obtenir une interopérabilité maximale.

Ou définir la configuration sur « CORRECTED » pour écrire les valeurs datetime telles quelles, si vous êtes sûr que les fichiers écrits seront lus uniquement par Spark 3.0+ ou d’autres systèmes qui utilisent le calendrier grégorien proleptique.