Managed Service for Apache Spark ora include le precedenti opzioni di prodotto "Dataproc on Compute Engine" (deployment del cluster) e "Google Cloud Serverless per Apache Spark" (deployment serverless).
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 il modo in cui gestiscono l'infrastruttura sottostante e fatturano le 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 del deployment serverless di Managed Service for Apache Spark.
Confronta i deployment di Managed Service for Apache Spark
La seguente tabella elenca le principali differenze tra il cluster Managed Service for Apache Spark e i deployment serverless.
| Deployment | Serverless | Cluster |
|---|---|---|
| Framework di elaborazione | Carichi di lavoro batch e sessioni interattive: Spark | Spark. Altri framework open source, come Hive, Flink, Trino e Kafka |
| Serverless | Sì | No |
| Tempi di avvio | 50s | 120s |
| 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 di Java | Java 17, 21 | Java 17 e versioni precedenti |
Decidere la migliore implementazione di Managed Service for Apache Spark
Questa sezione descrive i punti di forza principali e i casi d'uso principali di Managed Service for Apache Spark per aiutarti a selezionare il deployment migliore di Managed Service for Apache Spark (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.
- Deployment serverless:Managed Service for Apache Spark offre Spark-jobs-as-a-service, eseguendo Spark su un'infrastruttura Google Cloud completamente gestita. Paghi per il runtime del job.
- Deployment del cluster:offre cluster Spark as a service, 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 lavoro 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 gestisci i cluster. |
| Controllo e personalizzazione | Minor 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 a carichi di lavoro 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 a lunga esecuzione, migrazione di carichi di lavoro Hadoop e Spark esistenti con configurazioni personalizzate, carichi di lavoro che richiedono una personalizzazione approfondita. |
| Costi operativi | Minori costi generali. Google Cloud Gestisce l'infrastruttura, lo scaling 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 più elevato che richiede gestione, scalabilità e 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 multi-tenant. |
| Controllo della posizione | Managed Service for Apache Spark supporta i workload regionali senza costi aggiuntivi per fornire maggiore affidabilità e ottenibilità. | I cluster sono a livello di zona. La zona può essere selezionata automaticamente durante la creazione del cluster. |
| Costo | Viene addebitato solo per la durata dell'esecuzione del job Spark, esclusi l'avvio e l'arresto, in base alle risorse utilizzate. Fatturati come unità di calcolo dei dati (DCU) utilizzate e altri costi dell'infrastruttura. | Viene addebitato il 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 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 Managed Service for Apache Spark. | I CUD di Compute Engine si applicano a tutto l'utilizzo delle risorse. |
| Controllo delle immagini e del runtime | Gli utenti possono bloccare le versioni secondarie del runtime di Managed Service for Apache Spark; le versioni secondarie sono gestite da Managed Service for Apache Spark. | Gli utenti possono bloccare le versioni secondarie e secondarie secondarie delle immagini 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 di Java | Java 17, 21 |
Versioni precedenti supportate |
| Tempo di avvio | 50s | 120s |
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. Ciò lo rende una scelta eccellente per l'utilizzo nei seguenti scenari di trattamento dei dati:
- Analisi ad hoc e interattiva: 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 di dati o applicazioni su Spark, Managed Service for Apache Spark può accelerare notevolmente lo sviluppo rimuovendo il sovraccarico 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 (gli addebiti si applicano al 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 accelera 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 for Apache Spark riduce i costi e i carichi 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 dei carichi di lavoro 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 avanzati:consente di personalizzare i tipi di macchine del cluster, le dimensioni dei dischi e le configurazioni di rete. Questo livello di controllo è fondamentale per la messa a punto delle prestazioni e l'ottimizzazione dell'utilizzo delle risorse per job complessi e di lunga durata.
- Cluster persistenti e a lunga esecuzione:supporta job Spark continui e a lunga esecuzione 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 carichi di lavoro Spark.
- Conformità alla sicurezza:consente il controllo dell'infrastruttura per soddisfare standard di sicurezza o conformità specifici, ad esempio la salvaguardia 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 tua strategia di infrastruttura cloud.
Riepilogo
La decisione di utilizzare il cluster Managed Service for Apache Spark o il deployment serverless 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 dei costi per i workload intermittenti e la capacità di accelerare lo sviluppo di nuove applicazioni Spark rimuovendo il sovraccarico 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 condiviso, personalizzato e persistente.
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 tutto il potenziale dei tuoi dati.