Domande frequenti su Managed Service for Apache Spark serverless

Managed Service for Apache Spark serverless consente di eseguire workload batch di Spark e sessioni interattive su un'infrastruttura completamente gestita. Le seguenti domande e risposte riguardano argomenti comuni relativi a deployment, configurazione e operazioni. Se non diversamente indicato, queste informazioni si applicano solo ai deployment serverless, non ai deployment dei cluster.

Quando devo utilizzare il deployment serverless di Managed Service for Apache Spark anziché il deployment del cluster Managed Service for Apache Spark?

  • Deployment serverless di Managed Service for Apache Spark:

    • Supporta i workload batch Spark e le sessioni interattive nei notebook Jupyter del kernel PySpark.
    • Crea e gestisce l'infrastruttura per i workload e le sessioni interattive.
  • Deployment del cluster Managed Service for Apache Spark:

    • Supporta l'invio di diversi tipi di job Spark e di job basati su altri componenti open source, come Flink, Hadoop, Hive, Pig, Presto e altri.

    • Non crea né gestisce l'infrastruttura. Sei tu a creare e gestire i cluster Managed Service for Apache Spark.

Cosa posso fare con il deployment serverless di Managed Service for Apache Spark?

Come faccio a configurare un piano di esecuzione del workload?

Puoi eseguire i workload contemporaneamente o in sequenza. Il piano di esecuzione influisce sulla quota di risorse Google Cloud . Puoi eseguire in parallelo un numero di workload pari a quello consentito dalle quote delle risorse batch.

Posso utilizzare un'immagine personalizzata con il deployment serverless di Managed Service for Apache Spark?

Posso specificare le risorse di memoria e disco per i workload di Managed Service for Apache Spark?

Sì. Puoi specificare i livelli di disco e computing premium per driver ed esecutore, nonché la quantità di risorse disco e computing per driver ed esecutore da allocare quando invii un workload (consulta Proprietà di allocazione delle risorse).

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

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

Managed Service for Apache Spark supporta la residenza dei dati?

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

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

Managed Service for Apache Spark seleziona la zona di Compute Engine in cui esegue un workload 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 nuovamente.

In che modo i workload di Managed Service for Apache Spark utilizzano le risorse di computing?

Ogni workload viene eseguito sulle proprie risorse di computing. Gli invii di più batch non condividono né riutilizzano le risorse di computing.

Best Practices:

  • Ottimizza il workload per i job di media durata, non per quelli di breve durata.

  • Rendi persistenti i dati a cui accedono più workload in Cloud Storage.

Dove posso trovare informazioni su annunci, funzionalità, correzioni di bug, problemi noti e funzionalità deprecate di Managed Service for Apache Spark?

Consulta le note di rilascio di Managed Service for Apache Spark.

I workload simultanei competono per le risorse?

I workload di Managed Service for 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 workload sono completamente isolati l'uno dall'altro.

Come viene allocata la quota di Managed Service for Apache Spark?

I batch di Managed Service for Apache Spark utilizzano risorse Google Cloud . Per saperne di più, consulta Quote di Dataproc Serverless.

Devo configurare un Persistent History Server di Managed Service for Apache Spark?

La configurazione di un Persistent History Server (PHS) da utilizzare con Managed Service for 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 gestione temporanea di Managed Service for Apache Spark e dopo questo periodo.

Quali log di Managed Service for Apache Spark sono disponibili?

I log degli esecutori e dei driver 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 del PHS).

Se configuri un PHS di Managed Service for Apache Spark, questo fornisce l'accesso permanente ai log eventi di Spark salvati in Cloud Storage, che forniscono insight sull'esecuzione delle app Spark, ad esempio eventi DAG ed esecutori.

Posso impostare il numero di esecutori per il mio workload Spark?

Sì. Puoi impostare il numero di esecutori per un workload Spark utilizzando la proprietà spark.executor.instances. Tuttavia, il numero totale di core che un workload può utilizzare è più importante del numero di esecutori, perché Spark esegue un'attività per core. Ad esempio, se un workload ha quattro esecutori con due core ciascuno, eseguirà 4 * 2 = 8 attività contemporaneamente. Inoltre, eseguirà lo stesso numero di attività per un workload con due esecutori con quattro core ciascuno. Poiché il numero di core per ogni workload è lo stesso, verrà eseguito lo stesso numero di attività. Puoi utilizzare la proprietà spark.executor.cores per impostare il numero di core per esecutore per il workload di Managed Service for Apache Spark.

Quali metriche di Spark utilizza Managed Service for Apache Spark per la scalabilità automatica?

Managed Service for Apache Spark esamina le metriche di allocazione dinamica di Spark maximum-needed e running per determinare se fare lo scale up o lo scale down. Consulta Scalabilità automatica di Managed Service for Apache Spark.

Posso configurare il comportamento di scalabilità automatica di Managed Service for Apache Spark utilizzando le proprietà di Spark?

Sì. La scalabilità automatica di Managed Service for 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 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 workload Spark?

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