Domande frequenti sul deployment serverless di Managed Service per Apache Spark

Questa pagina contiene le domande frequenti sul deployment serverless di Managed Service for Apache Spark con le relative risposte. Se non diversamente indicato, queste informazioni si applicano solo alle implementazioni serverless di Managed Service for Apache Spark, non ai cluster.

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

  • Deployment serverless di Managed Service per Apache Spark:

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

    • 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 Managed Service for Apache Spark.

Che cosa posso fare con il deployment serverless di Managed Service per Apache Spark?

Come faccio a configurare un piano di esecuzione del workload?

Puoi eseguire i carichi di lavoro contemporaneamente o in sequenza. Il tuo piano di esecuzione influisce sulla quota di risorse Google Cloud . Puoi eseguire in parallelo tutti i workload che le quote delle risorse batch consentono.

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

Posso specificare le risorse di memoria e disco per i carichi di lavoro Spark di Managed Service 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 Managed Service per Apache Spark?

I workload di Managed Service 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 Managed Service for Apache Spark. /16 è un tipico intervallo di indirizzi CIDR specificato dall'utente per una rete VPC Managed Service for 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.

Managed Service 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 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 di nuovo.

In che modo i workload di Managed Service for 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 ritiri di Managed Service per Apache Spark?

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

I carichi di lavoro simultanei competono per le risorse?

I workload di Managed Service 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 Managed Service per Apache Spark?

I batch di Managed Service per Apache Spark consumano Google Cloud risorse. Per saperne di più, consulta le quote di Dataproc Serverless.

Devo configurare un server di cronologia permanente di Managed Service per Apache Spark?

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

Quali log di Managed Service 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 Managed Service for Apache Spark, questo fornisce l'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 executor 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 carico di lavoro che ha due executor con quattro core ciascuno. Poiché il numero di core per ogni workload è lo stesso, verranno eseguiti 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 Managed Service per Apache Spark.

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

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

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

Sì. La scalabilità automatica di Managed Service 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 comprimere 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 del 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 per Apache Spark quando invii un workload.