L'aggiornamento della versione dell'immagine di Managed Service for Apache Spark in Cloud Data Fusion ti consente di mantenere la compatibilità delle dipendenze, accedere alle nuove funzionalità di Spark e risolvere i problemi di runtime della pipeline. Puoi configurare questa versione dell'immagine a livello di istanza, spazio dei nomi o pipeline in base ai tuoi requisiti operativi.
Prima di iniziare
Arresta tutte le pipeline in tempo reale e i job di replica nell'istanza di Cloud Data Fusion. Se una pipeline in tempo reale o una replica è in esecuzione quando modifichi la versione dell'immagine di Managed Service for Apache Spark, le modifiche non vengono applicate all'esecuzione della pipeline.
Per le pipeline in tempo reale, se il checkpoint è abilitato, l'arresto delle pipeline non causa alcuna perdita di dati. Per i job di replica, finché i log del database sono disponibili, l'arresto e l'avvio del job di replica non causano perdita di dati.
Console
Vai alla pagina Istanze di Cloud Data Fusion e apri l'istanza in cui devi arrestare una pipeline.
Apri ogni pipeline in tempo reale in Pipeline Studio e fai clic su Arresta.
Apri ogni job di replica nella pagina Replica e fai clic su Arresta.
API REST
Per recuperare tutte le pipeline, utilizza la seguente chiamata API REST:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"Sostituisci
NAMESPACE_IDcon il nome del tuo spazio dei nomi.Per arrestare una pipeline in tempo reale, utilizza la seguente chiamata API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"Sostituisci NAMESPACE_ID con il nome del tuo spazio dei nomi e PIPELINE_NAME con il nome della pipeline in tempo reale.
Per arrestare un job di replica, utilizza la seguente chiamata API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"Sostituisci NAMESPACE_ID con il nome del tuo spazio dei nomi e REPLICATION_JOB_NAME con il nome del job di replica.
Per ulteriori informazioni, consulta Arrestare le pipeline in tempo reale e Arrestare i job di replica.
Controllare ed eseguire l'override della versione predefinita di Managed Service for Apache Spark in Cloud Data Fusion
Fai clic su Amministratore di sistema > Configurazione > Preferenze di sistema.

Se non è specificata un'immagine di Managed Service for Apache Spark in Preferenze di sistema o per modificare la preferenza, fai clic su Modifica preferenze di sistema.
Inserisci il seguente testo nel campo Chiave:
system.profile.properties.imageVersionInserisci l'immagine di Managed Service for Apache Spark scelta nel campo Valore, ad esempio
2.1.Fai clic su Salva e chiudi.

Questa modifica interessa l'intera istanza di Cloud Data Fusion, inclusi tutti gli spazi dei nomi e le esecuzioni delle pipeline, a meno che la proprietà della versione dell'immagine non venga sostituita in uno spazio dei nomi, una pipeline o un argomento di runtime nell'istanza.
Modificare la versione dell'immagine di Managed Service for Apache Spark
La versione dell'immagine può essere impostata nell'interfaccia web di Cloud Data Fusion in Configurazioni di Compute, Preferenze dello spazio dei nomi o Argomenti di runtime della pipeline.
Modificare l'immagine in Preferenze dello spazio dei nomi
Se hai sostituito la versione dell'immagine nelle proprietà dello spazio dei nomi, segui questi passaggi:
Fai clic su Amministratore di sistema > Configurazione > Spazi dei nomi.
Apri ogni spazio dei nomi e fai clic su Preferenze.
Assicurati che non esista una sostituzione con la chiave
system.profile.properties.imageVersioncon un valore della versione dell'immagine errato.Fai clic su Fine.
Modificare l'immagine nei profili di calcolo di sistema
Fai clic su Amministratore di sistema > Configurazione.
Fai clic su Profili di calcolo di sistema > Crea nuovo profilo.
Seleziona il provisioning Managed Service for Apache Spark.

Crea il profilo per Managed Service for Apache Spark. Nel campo Versione immagine, inserisci una versione dell'immagine di Managed Service for Apache Spark.

Seleziona questo profilo di calcolo durante l'esecuzione della pipeline nella pagina Studio. Nella pagina di esecuzione della pipeline, fai clic su Configura > Configurazione di calcolo e seleziona questo profilo.
Seleziona il profilo Managed Service for Apache Spark e fai clic su Salva.
Fai clic su Fine.
Modificare l'immagine negli argomenti di runtime della pipeline
Se hai sostituito la versione dell'immagine con una proprietà negli argomenti di runtime della pipeline, segui questi passaggi:
Fai clic sul menu Menu > Elenco.
Nella pagina Elenco, seleziona la pipeline che vuoi aggiornare.
La pipeline si apre nella pagina Studio.
Per espandere le opzioni Esegui, fai clic sulla freccia di espansione .
Si apre la finestra Argomenti di runtime.
Verifica che non esista una sostituzione con la chiave
system.profile.properties.imageVersioncon una versione dell'immagine errata come valore.Fai clic su Salva.

Ricreare i cluster statici di Managed Service for Apache Spark utilizzati da Cloud Data Fusion con la versione dell'immagine scelta
Se utilizzi i cluster Managed Service for Apache Spark esistenti con Cloud Data Fusion, segui la guida di Managed Service for Apache Spark per ricreare i cluster con la versione dell'immagine di Managed Service for Apache Spark scelta per la tua versione di Cloud Data Fusion.
In alternativa, puoi creare un nuovo cluster Managed Service for Apache Spark con la versione dell'immagine di Managed Service for Apache Spark scelta ed eliminare e ricreare il profilo di calcolo in Cloud Data Fusion con lo stesso nome del profilo di calcolo e il nome del cluster Managed Service for Apache Spark aggiornato. In questo modo, l'esecuzione delle pipeline batch può essere completata sul cluster esistente e le esecuzioni successive delle pipeline vengono eseguite sul nuovo cluster Managed Service for Apache Spark. Puoi eliminare il vecchio cluster Managed Service for Apache Spark dopo aver verificato che tutte le esecuzioni delle pipeline siano state completate.
Verificare che la versione dell'immagine di Managed Service for Apache Spark sia aggiornata
Console
Nella Google Cloud console, vai alla pagina Cluster di Managed Service for Apache Spark.
Apri la pagina Dettagli cluster per il nuovo cluster creato da Cloud Data Fusion quando hai specificato la nuova versione.
Il campo Versione immagine contiene il nuovo valore specificato in Cloud Data Fusion.
API REST
Recupera l'elenco dei cluster con i relativi metadati:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clustersSostituisci quanto segue:
PROJECT_IDcon il nome del tuo spazio dei nomiREGION_IDcon il nome della regione in cui si trovano i cluster
Cerca il nome della pipeline (nome del cluster).
In questo oggetto JSON, vedi l'immagine in
config > softwareConfig > imageVersion.
Modificare l'immagine di Managed Service for Apache Spark alla versione 2.1 o successive
Le versioni di Cloud Data Fusion 6.9.1 e successive supportano l'immagine di Managed Service for Apache Spark 2.1 Compute Engine, che viene eseguita in Java 11. Nelle versioni 6.10.0 e successive, l'immagine 2.1 è quella predefinita.
Se passi all'immagine 2.1 o successive da un'immagine precedente, per il corretto funzionamento delle pipeline batch e dei job di replica, i driver JDBC utilizzati dai plug-in del database in queste istanze devono essere compatibili con Java 11.
Le immagini di Managed Service for Apache Spark 2.2 e 2.1 presentano le seguenti limitazioni in Cloud Data Fusion:
- I job MapReduce non sono supportati.
- Le versioni dei driver JDBC utilizzate nei plug-in del database nell'istanza devono essere aggiornate per supportare Java 11. Consulta la seguente tabella per le versioni dei driver che funzionano con Managed Service for Apache Spark 2.2, 2.1 e Java 11:
| Driver JDBC | Versioni precedenti rimosse da Cloud Data Fusion 6.9.1 | Versioni supportate da Java 8 e Java 11 che funzionano con Managed Service for Apache Spark 2.2, 2.1 o 2.0 |
|---|---|---|
| Driver JDBC di Cloud SQL per MySQL | - | 1.0.16 |
| Driver JDBC di Cloud SQL per PostgreSQL | - | 1.0.16 |
| Driver JDBC di Microsoft SQL Server | Driver JDBC Microsoft 6.0 | Driver JDBC Microsoft 9.4 |
| Driver JDBC di MySQL | 5.0.8, 5.1.39 | 8.0.25 |
| Driver JDBC di PostgreSQL | 9.4.1211.jre7, 9.4.1211.jre8 | 42.6.0.jre8 |
| Driver JDBC di Oracle | ojdbc7 | ojdbc8 (12c e versioni successive) |
Memoria utilizzata quando si utilizza Managed Service for Apache Spark 2.1 o versioni successive
L'utilizzo della memoria potrebbe aumentare per le pipeline che utilizzano Managed Service for Apache Spark 2.1 o versioni successive. Se esegui l'upgrade dell'istanza alla versione 6.10 o successive e le pipeline precedenti non vanno a buon fine a causa di problemi di memoria, aumenta la memoria del driver e dell'executor a 2048 MB nella configurazione Resources per la pipeline.

In alternativa, puoi sostituire la versione di Managed Service for Apache Spark impostando l'argomento di runtime system.profile.properties.imageVersion su 2.0-debian10.