Domande frequenti su Dataproc Serverless

Questa pagina contiene le domande frequenti su Dataproc Serverless con le relative risposte.

Quando è consigliabile 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 blocchi note Jupyter del kernel PySpark.
    • 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. Sei tu a creare e gestire i tuoi cluster Dataproc.

Cosa posso fare con Dataproc Serverless per Spark?

  • Esegui job batch.

  • Utilizza il plug-in JupyterLab di Dataproc per sessioni serverless in batch e blocchi note interattive.

  • Esecuzione di job di inserimento di flussi utilizzando le librerie di inserimento di flussi di Spark. Nota: il flusso di dati non è un servizio gestito, pertanto devi gestire il checkpoint e i riavvii.

  • Addestra i modelli utilizzando Spark MLlib.

  • Utilizza blocchi note SQL interattivi per l'esplorazione dei dati, i grafici, le serie temporali e l'analisi geospaziale.

  • Orchestra Dataproc Serverless per carichi di lavoro Spark con Cloud Composer, un servizio Apache Airflow gestito.

Come devo configurare un piano di esecuzione dei carichi di lavoro?

Puoi eseguire carichi di lavoro contemporaneamente o in sequenza. Il piano di esecuzione influisce sulla quota di risorse Google Cloud. Puoi eseguire in parallelo il numero di carichi di lavoro consentito dalle quote delle risorse batch.

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

Posso specificare le risorse di memoria e disco per i carichi di lavoro Spark serverless di Dataproc?

Sì, Puoi specificare i livelli di calcolo e disco di esecutori e driver premium e la quantità di risorse di calcolo e disco di driver ed esecutori da allocare quando invii un carico di lavoro (consulta Proprietà di allocazione delle risorse).

Come faccio a specificare l'intervallo di indirizzi IP per la mia rete VPC serverless Dataproc?

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

Dataproc Serverless supporta la residenza dei dati?

Sì, Puoi specificare 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 di Compute Engine in cui esegue un carico di lavoro in base a capacità e disponibilità. Se una zona non è più disponibile dopo l'avvio di un carico di lavoro, il carico di lavoro ha esito negativo e devi inviare nuovamente il carico di lavoro non riuscito.

In che modo i carichi di lavoro Dataproc Serverless utilizzano le risorse di calcolo?

Ogni carico di lavoro viene eseguito sulle proprie risorse di computing. L'invio di più batch non condivide né riutilizza le risorse di computing.

Best Practices:

  • Ottimizza il carico di lavoro per i job a media esecuzione, non per i job a breve esecuzione.

  • Mantieni 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 Dataproc Serverless?

Consulta le note di rilascio di Dataproc Serverless.

I carichi di lavoro simultanei competono per le risorse?

I carichi di lavoro serverless di Dataproc competono per le risorse solo se la quota di risorse non è sufficiente per eseguire contemporaneamente tutti i carichi di lavoro in esecuzione. 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 Quote di Dataproc Serverless.

È necessario 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 l'evento Spark e altri log in un bucket Cloud Storage specificato fino al periodo di conservazione temporanea e al bucket gestione temporanea di Dataproc serverless (90 giorni) standard.

Quali log di Spark serverless di Dataproc sono disponibili?

Gli esecutori e i log dei driver 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) mentre il carico di lavoro è in esecuzione (seleziona PHS > Applicazioni incomplete nell'interfaccia utente di PHS.

La configurazione di un PHS di Dataproc consente di accedere in modo permanente ai log eventi di Spark salvati in Cloud Storage, che forniscono insight sull'esecuzione dell'app Spark, ad esempio eventi DAG ed esecutore.

Posso impostare il numero di esecutori 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 esecutori, perché Spark esegue 1 attività per core. Ad esempio, se un carico di lavoro ha quattro esecutori 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 esecutori con quattro core ciascuno. Poiché il numero di core per ogni carico di lavoro è 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 Dataproc Serverless.

Quali metriche di Spark utilizza Dataproc Serverless per la scalabilità automatica?

Dataproc Serverless per Spark esamina le metriche di allocazione dinamica di maximum-needed e running Spark per determinare se eseguire lo scale up o lo scale down. Consulta Dataproc Serverless per la scalabilità automatica di Spark.

Posso configurare il comportamento della scalabilità automatica serverless di Dataproc utilizzando le proprietà Spark?

Sì, La scalabilità automatica di Dataproc Serverless è basata 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 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 worker operano come processi JVM. Nei linguaggi JVM, il file JAR è il modo principale per pacchettizzare il codice. Puoi passare il file JAR a Dataproc Serverless quando invii un carico di lavoro.