Migrer vers les versions ultérieures de Spark

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

Migrer le service de flux de données vers Spark 3.2.1

Suivez les étapes ci-après pour migrer le service de flux de données vers Spark 3.2.1.

Pour pouvoir utiliser le service de flux de données avec Delta Lake 1.2.1 et pour l'intégration avec Conda Pack, vous devez utiliser au moins la version 3.2.1. de Spark avec le service de flux de données.

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

Pour plus d'informations sur les versions prises en charge dans Avant de commencer à utiliser le service de flux de données, les versions de bibliothèque suivantes sont les versions minimales prises en charge par le service de flux de données avec Spark 3.2.1 et Spark 3.0.2.
Note

Créez des applications à l'aide des versions indiquées pour Spark 3.0.2 avant la migration 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 d'applications de flux de données à partir de Spark 2.4 vers Spark 3.0.2

Voyez comment migrer le service de flux de données pour qu'il utilise Spark 3.0.2 plutôt que Spark 2.4.4.

Le service de flux de données prend désormais en charge Spark 2.4.4 et Spark 3.0.2. Ce chapitre décrit comment procéder pour migrer des applications de flux de données existantes de Spark 2.4.4 vers Spark 3.0.2.

Migration du service de flux de données vers Spark 3.0.2

Description des étapes de migration du service de flux de données de Spark 2.4.4 vers Spark 3.0.2 et des problèmes éventuels.

  1. Suivez les étapes du 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 ajouté une propriété à la liste d'autorisation pour Spark 2.4.4, vous devez créer une demande distincte pour l'ajouter à la liste d'autorisation pour Spark 3.0.2.
  4. Mettez à jour POM.xml pour appeler clairement les dépendances des bibliothèques Spark.
  5. Lorsque vous modifiez une application, créez une application de flux de données Java ou Scala, créez une application de flux de données PySpark ou créez une application de flux de données SQL, sélectionnez Spark 3.0.2 -> Scala 2.12 pour Version de Spark.
    Note

    Si vous modifiez la version de Spark pour une application qui a déjà une exécution, puis que vous réexécutez cette exécution précédente, la nouvelle version de Spark est utilisée, et non la version utilisée pour l'exécution initiale.

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

Voyez comment résoudre les erreurs d'analyse ou de format dans le service de flux de données concernant des chaînes de date ou d'horodatage après la migration de Spark 2.4.4 vers Spark 3.0.2.

Après avoir migré vos applications de flux de données vers Spark 3.0.2, vous obtenez l'erreur suivante 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. Réglez spark.sql.legacy.timeParserPolicy à LEGACY. Réexécutez votre application.