Questa pagina contiene le domande frequenti su Google Cloud Serverless per Apache Spark con le relative risposte.
Quando devo utilizzare Serverless per Apache Spark anziché Dataproc su Compute Engine?
Serverless per Apache Spark:
- Supporta i workload batch di Spark e le sessioni interattive nei notebook Jupyter del kernel PySpark.
- Serverless per Apache Spark crea e gestisce l'infrastruttura dei workload e 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 non gestisce l'infrastruttura. Crea e gestisci i cluster Dataproc.
Che cosa posso fare con Serverless per Apache Spark?
Utilizzare il plug-in JupyterLab di Dataproc per sessioni batch serverless e di notebook interattive.
Eseguire job di streaming utilizzando le librerie di streaming di Spark. Nota: lo streaming non è un servizio gestito, quindi devi gestire il checkpointing e i riavvii.
Addestrare i modelli utilizzando Spark MLlib.
Utilizzare i notebook SQL interattivi per l'esplorazione dei dati, i grafici, le serie temporali e l'analisi geospaziale.
Orchestrare i workload di Serverless per Apache Spark con Cloud Composer, un servizio Apache Airflow gestito.
Come faccio a configurare un piano di esecuzione dei workload?
Puoi eseguire i workload contemporaneamente o in sequenza. Il piano di esecuzione influisce sulla Google Cloud quota di risorse. Puoi eseguire in parallelo tutti i workload consentiti dalle quote di risorse batch.
Posso utilizzare un'immagine personalizzata con Serverless per Apache Spark?
- Sì. Puoi utilizzare un'immagine container personalizzata anziché l'immagine container predefinita. Consulta Utilizzare container personalizzati con Serverless per Apache Spark.
Posso specificare le risorse di memoria e disco per i workload Spark di Serverless per Apache Spark?
Sì. Puoi specificare i livelli di calcolo e disco dell'executor e del driver premium e la quantità di risorse di calcolo e disco del driver e dell'executor da allocare quando invii un workload (vedi Proprietà di allocazione delle risorse).
Come faccio a specificare l'intervallo di indirizzi IP per la rete VPC di Serverless per Apache Spark?
I workload di Serverless per Apache Spark vengono eseguiti nel tuo ambiente.
Ogni driver Spark e ogni executor Spark in un workload Spark serverless consuma un
indirizzo IP interno nella rete VPC di Serverless per Apache Spark.
/16 è un intervallo di indirizzi
CIDR in genere specificato dall'utente
per una rete VPC di Serverless per Apache Spark.
Puoi limitare l'intervallo di indirizzi IP della rete in base al numero di workload simultanei
che prevedi di eseguire.
Serverless per Apache Spark supporta la residenza dei dati?
Sì. Specifichi la regione in cui viene elaborato il workload. Individua i set di dati di input e output nella regione specificata.
In che modo Serverless per Apache Spark seleziona una zona all'interno della regione specificata per eseguire il workload?
Serverless per Apache Spark seleziona la zona di Compute Engine in cui esegue un workload in base alla capacità e alla disponibilità. Se una zona diventa non disponibile dopo l'avvio di un workload, quest'ultimo non riesce e devi inviare di nuovo il workload non riuscito.
In che modo i workload di Serverless per Apache Spark utilizzano le risorse di calcolo?
Ogni workload viene eseguito sulle proprie risorse di calcolo. Più invii batch non condividono o riutilizzano le risorse di calcolo.
Best Practices:
Ottimizza il workload per i job di media durata, non per quelli di breve durata.
Persisti i dati a cui accedono più workload in Cloud Storage.
Dove posso trovare informazioni su annunci, funzionalità, correzioni di bug, problemi noti e ritiri di Serverless per Apache Spark?
Consulta le note di rilascio di Serverless per Apache Spark.
I workload simultanei competono per le risorse?
I workload di Serverless per Apache Spark competono per le risorse solo se la quota di risorse non è sufficiente per eseguire tutti i workload in esecuzione simultanea. In caso contrario, i workload sono completamente isolati l'uno dall'altro.
Come viene allocata la quota di Serverless per Apache Spark?
I batch di Serverless per Apache Spark consumano Google Cloud risorse. Per saperne di più, consulta Quote di Dataproc Serverless per altre informazioni.
Devo configurare un server di cronologia permanente di Dataproc?
La configurazione di un server di cronologia permanente (PHS) da utilizzare con Serverless per Apache Spark è facoltativa.Puoi utilizzare il PHS per visualizzare gli eventi Spark e altri log in un bucket Cloud Storage specificato fino al periodo di conservazione (TTL) di 90 giorni del bucket di gestione temporanea e temporaneo standard di Serverless per Apache Spark e dopo questo periodo.
Quali log Spark di Serverless per Apache Spark sono disponibili?
I log del driver e degli executor Spark sono disponibili in Cloud Logging durante e dopo l'esecuzione del workload Spark. Inoltre, le applicazioni Spark sono visibili nell' interfaccia web del server di cronologia permanente (PHS) durante l'esecuzione del workload (seleziona PHS > Applicazioni incomplete nell'interfaccia utente del PHS).
Se configuri un PHS di Dataproc, questo fornisce l'accesso permanente ai log degli eventi Spark salvati in Cloud Storage, che forniscono informazioni sull'esecuzione dell'app Spark, come gli eventi DAG ed executor.
Posso impostare il numero di executor per il mio workload Spark?
Sì. Puoi impostare il numero di executor per un workload Spark utilizzando la
spark.executor.instances
proprietà. Tuttavia, il numero totale di core che un workload può utilizzare è più importante
del numero di executor perché Spark esegue 1 attività per core. Ad esempio,
se un workload ha quattro executor con due core ciascuno, eseguirà 4 * 2 = 8 attività
contemporaneamente. E eseguirà anche lo stesso numero di attività per un workload che
ha due executor con quattro core ciascuno. Poiché il numero di core per ogni workload è lo
stesso, eseguiranno lo stesso numero di attività. Puoi utilizzare la
spark.executor.cores
proprietà per impostare il numero di core per executor per il tuo workload Serverless per Apache Spark.
Quali metriche Spark utilizza Serverless per Apache Spark per la scalabilità automatica?
Serverless per Apache Spark esamina le metriche di allocazione dinamica di Spark maximum-needed e running
per determinare se eseguire lo scale up o lo scale down.
Consulta Scalabilità automatica di Serverless per Apache Spark.
Posso configurare il comportamento di scalabilità automatica di Serverless per Apache Spark utilizzando le proprietà di Spark?
Sì. La scalabilità automatica di Serverless per Apache Spark si basa sull'allocazione dinamica di Spark e è abilitata per impostazione predefinita. Puoi modificare le seguenti proprietà di Spark e proprietà di allocazione dinamica di Spark:
spark.executor.instancesspark.dynamicAllocation.initialExecutorsspark.dynamicAllocation.minExecutorsspark.dynamicAllocation.maxExecutors
Perché devo pacchettizzare il mio codice in un file JAR per inviare il mio workload Spark?
Spark è scritto in Scala, il che significa che sia il driver che i processi worker operano come processi JVM. Nei linguaggi JVM, il file JAR è il modo principale per pacchettizzare il codice. Passi il file JAR a Serverless per Apache Spark quando invii un workload.