Data Flow-Anwendungen mit Spark 2.4 in Spark 3.0.2 migrieren

Erfahren Sie mehr über die Migration von Data Flow zu Spark 3.0.2 anstelle von Spark 2.4.4.

Data Flow unterstützt jetzt sowohl Spark 2.4.4 als auch Spark 3.0.2. Dieses Kapitel beschreibt, was Sie tun müssen, wenn Sie vorhandene Datenflussanwendungen von Spark 2.4.4 zu Spark 3.0.2 migrieren.

Data Flow zu Spark 3.0.2 migrieren

Die Schritte zur Migration von Data Flow von Spark 2.4.4 zu Spark 3.0.2 und mögliche Probleme.

  1. Führen Sie die Schritte in der Spark-Migrationsdokumentation aus.
  2. Für Spark 3.0.2 ist Scala 2.12 erforderlich. Scala-Anwendungen, die mit einer früheren Version von Scala kompiliert wurden, und deren Abhängigkeiten müssen entsprechend aktualisiert werden.
  3. Wenn Sie der Ausnahmeliste eine Eigenschaft für Spark 2.4.4 hinzugefügt haben, müssen Sie eine separate Anforderung erstellen, um sie der Ausnahmeliste für Spark 3.0.2 hinzuzufügen.
  4. Aktualisieren Sie POM.xml, um die Abhängigkeiten für die Spark-Librarys eindeutig aufzurufen.
  5. Beim Bearbeiten einer Anwendung, beim Erstellen einer Java- oder Scala-Datenflussanwendung, beim Erstellen einer PySpark-Datenflussanwendung oder beim Erstellen einer SQL-Datenflussanwendung, wählen Sie Spark 3.0.2 -> Scala 2.12 als Spark-Version aus.
    Hinweis

    Wenn Sie die Spark-Version für eine Anwendung ändern, für die bereits eine Ausführung vorhanden ist, und diese vorherige Ausführung erneut ausführen, wird die neue Version von Spark verwendet, nicht die Version, mit der sie ursprünglich ausgeführt wurde.

Fehler beim Parsen von Zeitstempel- oder Datumszeichenfolgen

Erfahren Sie, wie Sie Parsing- oder Formatierungsfehler in Data Flow im Zusammenhang mit Datums- oder Zeitstempelzeichenfolgen beheben, die von Spark 2.4.4 zu Spark 3.0.2 migriert wurden.

Nach der Migration Ihrer Datenflussanwendungen zu Spark 3.0.2 erhalten Sie beim Ausführen einer Anwendung den folgenden Fehler:
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.
Um das Problem zu beheben, setzen Sie spark.sql.legacy.timeParserPolicy auf LEGACY. Führen Sie die Anwendung erneut aus.