Confronta i deployment serverless e dei cluster di Managed Service per Apache Spark

Managed Service for Apache Spark ora include le opzioni di prodotto precedenti "Dataproc su Compute Engine" (deployment del cluster) e le opzioni di prodotto precedenti "Google Cloud Serverless for Apache Spark" (deployment senza server).

Sebbene entrambe le opzioni forniscano un ambiente Spark gestito, altamente scalabile, pronto per la produzione e sicuro, compatibile con OSS e con supporto completo per i formati di dati, differiscono per la modalità di gestione dell'infrastruttura sottostante e di fatturazione delle risorse. Esamina le seguenti funzionalità e i seguenti casi d'uso per scegliere una soluzione Spark.

Per saperne di più sui deployment dei cluster Managed Service for Apache Spark, consulta la panoramica del deployment dei cluster Managed Service for Apache Spark.

Confronta i deployment di Managed Service per Apache Spark

La seguente tabella elenca le principali differenze tra i deployment di cluster e serverless di Managed Service per Apache Spark.

Deployment Serverless Cluster
Framework di elaborazione Workload batch e sessioni interattive: Spark Spark. Altri framework open source, come Hive, Flink, Trino e Kafka
Serverless No
Tempi di avvio 50 secondi 120 secondi
Controllo dell'infrastruttura No
Gestione delle risorse Serverless YARN
Supporto GPU
Sessioni interattive No
Container personalizzati No
Accesso alla VM (SSH) No
Versioni Java Java 17, 21 Java 17 e versioni precedenti

Scegli il deployment di Spark di Managed Service per Apache Spark più adatto

Questa sezione descrive i punti di forza principali e i casi d'uso di Managed Service per Apache Spark per aiutarti a selezionare il deployment di Managed Service per Apache Spark (cluster o serverless) più adatto ai tuoi workload Spark.

Panoramica

I deployment di Managed Service per Apache Spark differiscono per il grado di controllo, la gestione dell'infrastruttura e la modalità di fatturazione offerti.

  • Deployment serverless: Managed Service per Apache Spark offre job Spark come servizio, eseguendo Spark su un'infrastruttura completamente gestita. Google Cloud Paghi per il runtime del job.
  • Deployment del cluster: offre cluster Spark come servizio, eseguendo Spark gestito sulla tua infrastruttura Compute Engine. Paghi per l'uptime del cluster.

A causa di queste differenze, ogni deployment di Managed Service per Apache Spark è più adatto ai seguenti casi d'uso:

Deployment Casi d'uso
Serverless Diversi ambienti di job dedicati
Workload batch pianificati
Gestione del codice con priorità rispetto alla gestione dell'infrastruttura
Cluster Ambienti condivisi di lunga durata
Workload che richiedono un controllo granulare sull'infrastruttura
Migrazione di ambienti Hadoop e Spark legacy

Differenze principali

Funzionalità Deployment serverless Deployment del cluster
Modello di gestione Ambiente di esecuzione serverless completamente gestito. Basato su cluster. Esegui il provisioning e la gestione dei cluster.
Controllo e personalizzazione Minore controllo dell'infrastruttura, con particolare attenzione all'invio del codice e alla specifica dei parametri Spark. Maggiore controllo sulla configurazione del cluster, sui tipi di macchine e sul software. Possibilità di utilizzare VM spot e riutilizzare le prenotazioni e la capacità delle risorse di Compute Engine. Adatto per workload che hanno una dipendenza da forme di VM specifiche, come le architetture della CPU.
Casi d'uso Query ad hoc, analisi interattive, nuove pipeline Spark e workload con esigenze di risorse imprevedibili. Cluster condivisi di lunga durata, migrazione di workload Hadoop e Spark esistenti con configurazioni personalizzate, workload che richiedono una personalizzazione approfondita.
Overhead operativo Overhead inferiore. Google Cloud Gestisce l'infrastruttura, la scalabilità e il provisioning, consentendo un modello NoOps. Gemini Cloud Assist semplifica la risoluzione dei problemi, mentre l'ottimizzazione automatica serverless contribuisce a fornire prestazioni ottimali. Overhead maggiore che richiede la gestione, la scalabilità e la manutenzione del cluster.
Modello di efficienza Nessun overhead di calcolo inattivo: allocazione delle risorse di calcolo solo quando il job è in esecuzione. Nessun costo di avvio e arresto. Sessioni interattive condivise supportate per una maggiore efficienza. Efficienza ottenuta condividendo i cluster tra job e team, con un modello di condivisione multi-tenant.
Controllo della località Managed Service per Apache Spark supporta i workload regionali senza costi aggiuntivi per fornire maggiore affidabilità e disponibilità. I cluster sono a livello di zona. La zona può essere selezionata automaticamente durante la creazione del cluster.
Costo La fatturazione si basa solo sulla durata dell'esecuzione del job Spark, esclusi l'avvio e l'arresto, in base alle risorse utilizzate. La fatturazione si basa sulle unità di calcolo dei dati (DCU) utilizzate e su altri costi dell'infrastruttura. La fatturazione si basa sul tempo di esecuzione del cluster, inclusi l'avvio e l'arresto, in base al numero di nodi. Include tariffa per la licenza di Managed Service per Apache Spark più il costo dell'infrastruttura.
Sconti per impegno di utilizzo (CUD) I CUD basati sulla spesa di BigQuery si applicano ai job di Managed Service per Apache Spark. I CUD di Compute Engine si applicano a tutto l'utilizzo delle risorse.
Controllo dell'immagine e del runtime Gli utenti possono eseguire il pinning alle versioni secondarie del runtime di Managed Service per Apache Spark; le versioni secondarie vengono gestite da Managed Service per Apache Spark. Gli utenti possono eseguire il pinning alle versioni secondarie e secondarie delle immagini di Managed Service per Apache Spark.
Gestione delle risorse Serverless YARN
Supporto GPU
Sessioni interattive No
Container personalizzati No
Accesso alla VM (SSH) No
Versioni Java Java 17, 21 Versioni precedenti supportate
Tempi di avvio 50 secondi 120 secondi

Quando scegliere il deployment serverless

Il deployment serverless di Managed Service per Apache Spark elimina le complessità della gestione dei cluster, consentendoti di concentrarti sul codice Spark. È quindi una scelta eccellente per l'utilizzo nei seguenti scenari di elaborazione dei dati:

  • Analisi ad hoc e interattive: per i data scientist e gli analisti che eseguono query interattive e analisi esplorative utilizzando Spark, il modello serverless offre un modo rapido per iniziare senza concentrarsi sull'infrastruttura.
  • Applicazioni e pipeline basate su Spark: quando crei nuove pipeline o applicazioni di dati su Spark, Managed Service per Apache Spark può accelerare notevolmente lo sviluppo eliminando l'overhead operativo della gestione dei cluster.
  • Workload con domanda sporadica o imprevedibile: per i job Spark intermittenti o con requisiti di risorse variabili, la scalabilità automatica serverless e i prezzi pay-per-use (si applicano addebiti per il consumo di risorse del job) possono ridurre notevolmente i costi.
  • Focus sulla produttività degli sviluppatori: eliminando la necessità di eseguire il provisioning e la gestione dei cluster, Managed Service per Apache Spark velocizza la creazione della logica di business, fornisce insight più rapidi e aumenta la produttività.
  • Operazioni semplificate e overhead ridotto: la gestione dell'infrastruttura di Managed Service per Apache Spark riduce i costi e gli oneri operativi.

Quando scegliere il deployment del cluster

Puoi utilizzare il deployment del cluster di Managed Service per Apache Spark per eseguire Apache Spark e altri framework di elaborazione dei dati open source. Offre un elevato grado di controllo e flessibilità, il che lo rende la scelta preferita nei seguenti scenari:

  • Migrazione di workload Hadoop e Spark esistenti: supporta la migrazione dei cluster Hadoop o Spark on-premise a Google Cloud. Replica le configurazioni esistenti con modifiche minime al codice, in particolare quando utilizzi versioni precedenti di Spark.
  • Personalizzazione e controllo approfonditi: consente di personalizzare i tipi di macchine, le dimensioni dei dischi e le configurazioni di rete dei cluster. Questo livello di controllo è fondamentale per l'ottimizzazione delle prestazioni e l'utilizzo delle risorse per job complessi e di lunga durata.
  • Cluster persistenti e di lunga durata: supporta job Spark continui e di lunga durata e cluster persistenti per più team e progetti.
  • Ecosistema open source diversificato: fornisce un ambiente unificato per eseguire pipeline di elaborazione dei dati che utilizzano strumenti dell'ecosistema Hadoop, come Hive, Pig o Presto, con i tuoi workload Spark.
  • Conformità alla sicurezza: consente di controllare l'infrastruttura per soddisfare standard di sicurezza o conformità specifici, ad esempio la protezione delle informazioni che consentono l'identificazione personale (PII) o dei dati sanitari protetti (PHI).
  • Flessibilità dell'infrastruttura: offre VM spot e la possibilità di riutilizzare le prenotazioni e la capacità delle risorse di Compute Engine per bilanciare l'utilizzo delle risorse e facilitare la strategia dell'infrastruttura cloud.

Riepilogo

La decisione di utilizzare il deployment del cluster o serverless di Managed Service per Apache Spark dipende dai requisiti del workload, dalle preferenze operative e dal livello di controllo preferito.

  • Scegli Managed Service per Apache Spark serverless per la facilità d'uso, l'efficienza in termini di costi per i workload intermittenti e la capacità di accelerare lo sviluppo di nuove applicazioni Spark eliminando l'overhead della gestione dell'infrastruttura.
  • Scegli i cluster di Managed Service per Apache Spark quando hai bisogno del massimo controllo, devi eseguire la migrazione dei workload Hadoop o Spark o hai bisogno di un ambiente cluster persistente, personalizzato e condiviso.

Dopo aver valutato i fattori elencati in questa sezione, seleziona il deployment di Managed Service per Apache Spark più efficiente ed economico per eseguire Spark e sfruttare appieno il potenziale dei tuoi dati.