Classe d’erreur INCONSISTENT_BEHAVIOR_CROSS_VERSION
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.
- Vous pouvez définir
<config>
sur « LEGACY » pour restaurer le comportement antérieur à Spark 3.0. - 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.