Questa pagina contiene le domande frequenti su Dataproc Serverless con le relative risposte.
Quando devo utilizzare Dataproc Serverless per Spark anziché Dataproc su Compute Engine?
Dataproc Serverless:
- Supporta i carichi di lavoro batch di Spark e le sessioni interattive nei kernel PySpark Jupyter Notebook.
- Dataproc Serverless crea e gestisce il carico di lavoro e l'infrastruttura delle sessioni interattive.
Dataproc su Compute Engine:
Supporta l'invio di diversi tipi di job Spark e job basati su altri componenti open source, come Flink, Hadoop, Hive, Pig, Presto e altri.
Non crea e gestisce l'infrastruttura. Puoi creare e gestire i tuoi cluster Dataproc.
Cosa posso fare con Dataproc Serverless per Spark?
Utilizza il plug-in JupyterLab di Dataproc per sessioni di notebook interattive e batch serverless.
Esegui job di streaming utilizzando le librerie di streaming Spark. Nota: lo streaming non è un servizio gestito, pertanto devi gestire i checkpoint e i riavvii.
Addestra i modelli utilizzando Spark MLlib.
Utilizza i notebook SQL interattivi per l'esplorazione dei dati, i grafici, le serie temporali e l'analisi geospaziale.
Orchestra Dataproc Serverless per i carichi di lavoro Spark con Cloud Composer, un servizio Apache Airflow gestito.
Come faccio a configurare un piano di esecuzione del carico di lavoro?
Puoi eseguire i carichi di lavoro contemporaneamente o in sequenza. Il piano di esecuzione influisce sulla quota di risorse Google Cloud. Puoi eseguire in parallelo tutti i workload supportati dalle quote della risorsa batch.
Posso utilizzare un'immagine personalizzata con Dataproc Serverless per Spark?
- Sì. Puoi utilizzare un'immagine container personalizzata anziché quella predefinita. Consulta Utilizzare container personalizzati con Dataproc Serverless per Spark.
Posso specificare risorse di memoria e disco per i carichi di lavoro Spark di Dataproc Serverless?
Sì. Puoi specificare i livelli di disco e di calcolo di executor e driver premium e la quantità di risorse di calcolo e disco di executor e driver da allocare quando invii un carico di lavoro (vedi Proprietà di allocazione delle risorse).
Come faccio a specificare l'intervallo di indirizzi IP per la mia rete VPC Dataproc Serverless?
I carichi di lavoro Dataproc Serverless per Spark vengono eseguiti all'interno del tuo ambiente.
Ogni driver e ogni Executor Spark in un carico di lavoro Spark serverless consuma un
indirizzo IP interno nella rete VPC Dataproc Serverless.
/16
è un tipico intervallo di indirizzi CIDR specificato dall'utente per una rete VPC Dataproc Serverless.
Puoi limitare l'intervallo di indirizzi IP della tua rete in base al numero di carichi di lavoro contemporaneamente che prevedi di eseguire.
Dataproc Serverless supporta la residenza dei dati?
Sì. Specifica la regione in cui viene elaborato il carico di lavoro. Individua i set di dati di input e di output nella regione specificata.
In che modo Dataproc Serverless seleziona una zona all'interno della regione specificata per eseguire il carico di lavoro?
Dataproc Serverless seleziona la zona Compute Engine in cui esegue un carico di lavoro in base alla capacità e alla disponibilità. Se una zona diventa non disponibile dopo l'avvio di un carico di lavoro, il carico di lavoro non riesce e devi inviarlo di nuovo.
In che modo i carichi di lavoro Dataproc Serverless utilizzano le risorse di calcolo?
Ogni carico di lavoro viene eseguito sulle proprie risorse di calcolo. I caricamenti batch più volte non condividono né riutilizzano le risorse di calcolo.
Best Practices:
Ottimizza il tuo carico di lavoro per i job di esecuzione media, non per quelli di esecuzione breve.
Mantieni permanenti i dati a cui accedono più carichi di lavoro in Cloud Storage.
Dove posso trovare informazioni su annunci, funzionalità, correzioni di bug, problemi noti e ritiri di Dataproc Serverless?
Consulta le note di rilascio di Dataproc Serverless.
I carichi di lavoro simultanei competono per le risorse?
I carichi di lavoro Dataproc Serverless competono per le risorse solo se la tua quota di risorse non è sufficiente per eseguire tutti i carichi di lavoro in esecuzione contemporaneamente. In caso contrario, i carichi di lavoro sono completamente isolati l'uno dall'altro.
Come viene allocata la quota di Dataproc Serverless?
I batch Dataproc Serverless consumano risorse Google Cloud. Per ulteriori informazioni, consulta le quote di Dataproc Serverless.
Devo configurare un server di cronologia permanente Dataproc?
La configurazione di un server di cronologia permanente (PHS) da utilizzare con Dataproc Serverless è facoltativa.Puoi utilizzare il PHS per visualizzare gli eventi Spark e altri log in un bucket Cloud Storage specificato fino al termine del periodo di conservazione (TTL) standard di 90 giorni del bucket di staging e gestione temporanea Dataproc Serverless.
Quali log di Spark di Dataproc Serverless sono disponibili?
Gli esecutori e i log del driver di Spark sono disponibili in Cloud Logging durante e dopo l'esecuzione del carico di lavoro Spark. Inoltre, le applicazioni Spark sono visibili nell'interfaccia web del server di cronologia permanente (PHS) durante l'esecuzione del carico di lavoro (seleziona PHS > Applicazioni incomplete nell'interfaccia utente del PHS).
Se configuri un PHS Dataproc, questo fornisce accesso permanente ai log degli eventi Spark salvati in Cloud Storage, che forniscono informazioni sull'esecuzione dell'app Spark, ad esempio eventi DAG ed executor.
Posso impostare il numero di executor per il mio carico di lavoro Spark?
Sì. Puoi impostare il numero di esecutori per un carico di lavoro Spark utilizzando la proprietà
spark.executor.instances
. Tuttavia, il numero totale di core che un carico di lavoro può utilizzare è più importante
del numero di executor perché Spark esegue un task per core. Ad esempio, se un carico di lavoro ha quattro executor con due core ciascuno, eseguirà 4 * 2 = 8
attività contemporaneamente. Eseguirà anche lo stesso numero di attività per un carico di lavoro con due executor con quattro core ciascuno. Poiché il numero di core per ogni carico di lavoro è uguale, verrà eseguito lo stesso numero di attività. Puoi utilizzare la proprietà
spark.executor.cores
per impostare il numero di core per executor per il tuo carico di lavoro Dataproc Serverless.
Quali metriche Spark vengono utilizzate da Dataproc Serverless per la scalabilità automatica?
Dataproc Serverless per Spark esamina le metriche di allocazione dinamica maximum-needed
e running
di Spark per determinare se eseguire l'aumento o la riduzione di scala.
Consulta la sezione Scalabilità automatica di Dataproc Serverless per Spark.
Posso configurare il comportamento della scalabilità automatica di Dataproc Serverless utilizzando le proprietà Spark?
Sì. La scalabilità automatica di Dataproc Serverless si basa sull'allocazione dinamica di Spark ed è abilitata per impostazione predefinita. Puoi modificare le seguenti proprietà Spark e le proprietà di allocazione dinamica di Spark:
spark.executor.instances
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
Perché devo pacchettizzare il mio codice in un file JAR per inviare il mio carico di lavoro Spark?
Spark è scritto in Scala, il che significa che sia il driver sia i processi di lavoro operano come processi JVM. Nei linguaggi JVM, il file JAR è il modo principale per impacchettare il codice. Trasmetti il file JAR a Dataproc Serverless quando invii un carico di lavoro.