Migrazione delle applicazioni di flusso dati dall'uso di Spark 2.4 all'uso di Spark 3.0.2

Informazioni sulla migrazione di Data Flow per utilizzare Spark 3.0.2 anziché Spark 2.4.4.

Data Flow ora supporta sia Spark 2.4.4 che Spark 3.0.2. In questo capitolo vengono descritte le operazioni necessarie per la migrazione delle applicazioni Data Flow esistenti da Spark 2.4.4 a Spark 3.0.2.

Migrazione del flusso di dati a Spark 3.0.2

I passi per eseguire la migrazione del flusso di dati da Spark 2.4.4 a Spark 3.0.2 e i problemi da risolvere.

  1. Seguire la procedura descritta nel manuale Spark Migration Guide.
  2. Spark 3.0.2 richiede la versione Scala 2.12. Le applicazioni Scala compilate con una versione precedente di Scala e le relative dipendenze devono essere aggiornate di conseguenza.
  3. Se hai inserito una proprietà nella lista di inclusione per Spark 2.4.4, devi creare una richiesta separata per inserirla nella lista di inclusione per Spark 3.0.2.
  4. Aggiornare POM.xml per richiamare in modo chiaro le dipendenze per le librerie Spark.
  5. Quando si modifica di un'applicazione, creazione di un'applicazione Data Flow Java o Scala, creazione di un'applicazione Data Flow PySpark o creazione di un'applicazione SQL Data Flow, selezionare Spark 3.0.2 -> Scala 2.12 per versione Spark.
    Nota

    Se si modifica la versione Spark per un'applicazione che dispone già di un'esecuzione e quindi viene eseguita di nuovo questa esecuzione precedente, viene utilizzata la nuova versione di Spark e non la versione con cui è stata eseguita in origine.

Errori durante l'analisi dell'indicatore orario o delle stringhe di data

Scopri come superare gli errori di analisi o formattazione in Data Flow relativi a stringhe di data o indicatore orario migrate da Spark 2.4.4 a Spark 3.0.2.

Dopo aver eseguito la migrazione delle applicazioni Data Flow a Spark 3.0.2, si verifica il seguente errore durante l'esecuzione di un'applicazione:
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.
Per correggere il problema, impostare spark.sql.legacy.timeParserPolicy su LEGACY. Rieseguire l'applicazione.