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 serverless).
Sebbene entrambe le opzioni forniscano un ambiente Spark gestito, a elevata scalabilità, 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 per la fatturazione delle risorse. Esamina le seguenti funzionalità e i seguenti casi d'uso per scegliere una soluzione Spark.
Per saperne di più sui deployment serverless di Managed Service for Apache Spark, consulta la panoramica dei deployment serverless di Managed Service for Apache Spark.
Confronta i deployment di Managed Service for Apache Spark
La seguente tabella elenca le differenze principali tra i deployment del cluster e serverless di Managed Service for 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 | Sì | No |
| Tempi di avvio | 50 secondi | 120 secondi |
| Controllo dell'infrastruttura | No | Sì |
| Gestione delle risorse | Serverless | YARN |
| Supporto GPU | Sì | Sì |
| Sessioni interattive | Sì | No |
| Container personalizzati | Sì | No |
| Accesso alla VM (SSH) | No | Sì |
| Versioni Java | Java 17, 21 | Java 17 e versioni precedenti |
Scegli il deployment di Managed Service for Apache Spark più adatto
Questa sezione descrive i punti di forza principali e i casi d'uso primari di Managed Service for Apache Spark per aiutarti a selezionare il deployment di Managed Service for Apache Spark più adatto (cluster o serverless) per i tuoi workload Spark.
Panoramica
I deployment di Managed Service for Apache Spark differiscono per il grado di controllo, la gestione dell'infrastruttura e la modalità di fatturazione offerti da ciascuno.
- Deployment serverless: Managed Service for 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 for 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 macchina 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 la regolazione 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 durante l'esecuzione del job. 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 e multi-tenancy. |
| Controllo della località | Managed Service for 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'eliminazione, 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'eliminazione, in base al numero di nodi. Include tariffa per la licenza di Managed Service for 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 for 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 for Apache Spark; le versioni secondarie vengono gestite da Managed Service for Apache Spark. | Gli utenti possono eseguire il pinning alle versioni secondarie e secondarie delle immagini di Managed Service for Apache Spark. |
| Gestione delle risorse | serverless | YARN |
| Supporto GPU | Sì | Sì |
| Sessioni interattive | Sì | No |
| Container personalizzati | Sì | No |
| Accesso alla VM (SSH) | No | Sì |
| 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 for Apache Spark astrae 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 fornisce 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 for Apache Spark può accelerare notevolmente lo sviluppo rimuovendo 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 significativamente i costi.
- Focus sulla produttività degli sviluppatori: eliminando la necessità di provisioning e gestione dei cluster, Managed Service for Apache Spark velocizza la creazione della logica di business, fornisce informazioni più rapide e aumenta la produttività.
- Operazioni semplificate e overhead ridotto: la gestione dell'infrastruttura di Managed Service for Apache Spark riduce i costi e gli oneri operativi.
Quando scegliere il deployment del cluster
Puoi utilizzare il deployment del cluster Managed Service for 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 macchina, le dimensioni dei dischi e le configurazioni di rete dei cluster. Questo livello di controllo è fondamentale per la regolazione delle prestazioni e l'ottimizzazione dell'utilizzo delle risorse per job complessi e di lunga durata.
- Cluster di lunga durata e persistenti: 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 for Apache Spark dipende dai requisiti del workload, dalle preferenze operative e dal livello di controllo preferito.
- Scegli Managed Service for 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 rimuovendo l'overhead della gestione dell'infrastruttura.
- Scegli i cluster Managed Service for 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 for Apache Spark più efficiente ed economico per eseguire Spark e sfruttare appieno il potenziale dei tuoi dati.