Domande frequenti su Serverless per Apache Spark

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 carichi di lavoro batch di Spark e le sessioni interattive nei notebook Jupyter del kernel PySpark.
    • Serverless per Apache Spark crea e gestisce l'infrastruttura di sessione interattiva e del workload.
  • 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 tuoi cluster Dataproc.

Cosa posso fare con Serverless per Apache Spark?

Come faccio a configurare un piano di esecuzione del workload?

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 che ti consentono le quote delle risorse batch.

Posso utilizzare un'immagine personalizzata con Serverless per Apache Spark?

Posso specificare le risorse di memoria e disco per i carichi di lavoro Spark di Serverless per Apache Spark?

Sì. Puoi specificare i livelli di calcolo e disco di executor e driver premium e la quantità di risorse di calcolo e disco di driver ed executor da allocare quando invii un workload (vedi Proprietà di allocazione delle risorse).

Come faccio a specificare l'intervallo di indirizzi IP per la mia rete VPC Serverless per Apache Spark?

I carichi di lavoro Serverless per Apache Spark vengono eseguiti nel tuo ambiente. Ogni driver Spark ed esecutore Spark in un carico di lavoro Spark serverless utilizza un indirizzo IP interno nella rete VPC Serverless per Apache Spark. /16 è un intervallo di indirizzi CIDR specificato dall'utente tipico per una rete VPC Serverless per Apache Spark. Puoi limitare l'intervallo di indirizzi IP della tua rete in base al numero di carichi di lavoro simultanei che prevedi di eseguire.

Serverless per Apache Spark supporta la residenza dei dati?

Sì. Specifichi la regione in cui viene elaborato il carico di lavoro. Individua i set di dati di input e output nella regione specificata.

In che modo Serverless for Apache Spark seleziona una zona all'interno della regione specificata per eseguire il workload?

Serverless for Apache Spark seleziona la zona di Compute Engine in cui esegue un carico di lavoro in base alla capacità e alla disponibilità. Se una zona non è più disponibile dopo l'avvio di un workload, quest'ultimo non va a buon fine e devi inviarlo di nuovo.

In che modo i carichi di lavoro Serverless per Apache Spark utilizzano le risorse di calcolo?

Ogni workload viene eseguito sulle proprie risorse di calcolo. Più invii batch non condividono né riutilizzano le risorse di calcolo.

Best Practices:

  • Ottimizza il workload per i job a esecuzione media, non per quelli a esecuzione breve.

  • Conserva 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 deprecazioni di Serverless per Apache Spark?

Consulta le note di rilascio di Serverless per Apache Spark.

I carichi di lavoro simultanei competono per le risorse?

I workload Serverless per Apache Spark competono per le risorse solo se la quota di risorse non è sufficiente per eseguire tutti i workload in esecuzione contemporaneamente. In caso contrario, i carichi di lavoro sono completamente isolati tra loro.

Come viene allocata la quota di Serverless per Apache Spark?

I batch di Serverless per Apache Spark consumano risorse Google Cloud . Per saperne di più, consulta Quote di Dataproc Serverless.

Devo configurare un server di cronologia permanente Dataproc?

La configurazione di un Persistent History Server (PHS) da utilizzare con Serverless per Apache Spark è facoltativa.Puoi utilizzare PHS per visualizzare gli eventi Spark e altri log in un bucket Cloud Storage specificato fino a e dopo il periodo di conservazione (TTL) di 90 giorni del bucket gestione temporanea e di staging di Serverless per Apache Spark.

Quali log 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) mentre il workload è in esecuzione (seleziona PHS > Applicazioni incomplete nell'interfaccia utente di PHS).

Se configuri un PHS Dataproc, questo fornisce un 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 workload può utilizzare è più importante del numero di executor perché Spark esegue un'attività per core. Ad esempio, se un carico di lavoro ha quattro executor con due core ciascuno, eseguirà 4 * 2 = 8 attività contemporaneamente. Inoltre, eseguirà 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 proprietà spark.executor.cores per impostare il numero di core per esecutore per il tuo carico di lavoro 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 maximum-needed e running di Spark per determinare se aumentare o diminuire la scalabilità. Consulta la sezione Scalabilità automatica di Serverless per Apache Spark.

Posso configurare il comportamento di scalabilità automatica di Serverless per Apache Spark utilizzando le proprietà Spark?

Sì. La scalabilità automatica di Serverless per Apache Spark si basa sull'allocazione dinamica di Spark ed è abilitata per impostazione predefinita. Puoi modificare le seguenti proprietà Spark e proprietà di allocazione dinamica Spark:

  • spark.executor.instances
  • spark.dynamicAllocation.initialExecutors
  • spark.dynamicAllocation.minExecutors
  • spark.dynamicAllocation.maxExecutors

Perché devo creare un pacchetto del mio codice in un file JAR per inviare il mio carico di lavoro Spark?

Spark è scritto in Scala, il che significa che sia i processi del driver che quelli del worker operano come processi JVM. Nei linguaggi JVM, il file JAR è il modo principale per pacchettizzare il codice. Passi il file JAR a Serverless for Apache Spark quando invii un workload.