Migrer vers les versions ultérieures de Spark

Suivez ces instructions pour mettre à jour Spark de la version 3.0.2 vers la version 3.2.1 ou de 2.4 vers la version 3.0.2.

Migration de Data Flow vers Spark 3.2.1

Suivez les étapes ci-après pour migrer Data Flow vers Spark 3.2.1.

Pour pouvoir utiliser Data Flow avec Delta Lake 1.2.1 et procéder à l'intégration à conda-pack, vous devez utiliser au moins la version 3.2.1. de Spark avec Data Flow.

Suivez les instructions du Guide de migration Spark 3.2.1 pour effectuer une mise à niveau vers Spark 3.2.1.

Outre les informations sur les versions prises en charge dans Avant de commencer à utiliser Data Flow, les versions de bibliothèque suivantes sont prises en charge au minimum par Data Flow avec Spark 3.2.1 et Spark 3.0.2.
Remarque

Créez des applications à l'aide des versions répertoriées pour Spark 3.0.2 avant de migrer vers Spark 3.2.1.
Versions minimales prises en charge pour Spark 3.2.1 et Spark 3.0.2.
Bibliothèque Spark 3.2.1 Spark 3.0.2
Python 3.8.13 3.6.8
Java 11 1.8.0_321
Hadoop 3.3.3 3.2.0
oci-hdfs 3.3.1.0.3.2 3.2.1.3
Scala 2.12.15 2.12.10
oci-java-sdk 2,45,0 1.25.2

Migration des applications Data Flow de Spark 2.4 vers Spark 3.0.2

Découvrez comment migrer Data Flow pour utiliser Spark 3.0.2 plutôt que Spark 2.4.4.

Data Flow prend désormais en charge Spark 2.4.4 et Spark 3.0.2. Ce chapitre décrit ce que vous devez faire si vous migrez des applications Data Flow existantes de Spark 2.4.4 vers Spark 3.0.2.

Migration de Data Flow vers Spark 3.0.2

Voici les étapes à suivre pour migrer Data Flow de Spark 2.4.4 vers Spark 3.0.2 et les problèmes auxquels faire attention.

  1. Suivez les étapes décrites dans le guide de migration Spark.
  2. Spark 3.0.2 requiert Scala 2.12. Les applications Scala compilées avec une version précédente de Scala et leurs dépendances doivent être mises à jour en conséquence.
  3. Si vous avez placé une propriété sur liste d'autorisation pour Spark 2.4.4, vous devez créer une demande distincte afin de la placer sur liste d'autorisation pour Spark 3.0.2.
  4. Mettez à jour le fichier pom.xml afin d'appeler clairement les dépendances pour les bibliothèques Spark.
  5. Lorsque vous modifiez une application, créez une application Data Flow Java ou Scala, créez une application Data Flow PySpark ou créez une application Data Flow SQL, sélectionnez Spark 3.0.2 -> Scala 2.12 pour Version de Spark.
    Remarque

    Si vous modifiez la version de Spark pour une application qui comporte déjà une exécution, puis que vous exécutez à nouveau cette exécution, cette dernière utilise la nouvelle version de Spark, et non la version avec laquelle elle a été initialement exécutée.

Erreurs lors de l'analyse des chaînes d'horodatage ou de date

Découvrez comment résoudre les erreurs d'analyse ou de formatage liées aux chaînes d'horodatage ou de date dans Data Flow après avoir effectué une migration de Spark 2.4.4 vers Spark 3.0.2.

Après avoir migré vos applications Data Flow vers Spark 3.0.2, l'erreur suivante apparaît lors de l'exécution d'une application :
org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading of Spark 3.0: Fail to recognize ‘MMMMM’ pattern in the DateTimeFormatter.
Il existe une solution simple. Définissez spark.sql.legacy.timeParserPolicy sur LEGACY. Réexécutez l'application.