Questo documento spiega i concetti chiave, i componenti di base, le funzionalità principali e i vantaggi di Managed Service for Apache Spark. Comprendere questi concetti fondamentali ti aiuta a utilizzare in modo efficace Managed Service for Apache Spark per le tue attività di trattamento dati.
Il modello serverless
Managed Service for Apache Spark serverless è il modello Managed Service for Apache Spark moderno con esecuzione automatizzata. Consente di eseguire job senza eseguire il provisioning, la gestione o la scalabilità dell'infrastruttura sottostante: Managed Service for Apache Spark gestisce i dettagli per te.
Batch: un batch (chiamato anche workload batch) è l'equivalente serverless di un job Managed Service for Apache Spark. Invia il tuo codice, ad esempio un job Spark, al servizio. Managed Service for Apache Spark esegue il provisioning delle risorse necessarie on demand, esegue il job e poi le rimuove. Non crei o gestisci risorse di cluster o job; il servizio fa il lavoro per te.
Sessioni interattive: le sessioni interattive forniscono un ambiente live on demand per l'analisi esplorativa dei dati, in genere all'interno di un notebook Jupyter. Le sessioni interattive offrono la comodità di un'area di lavoro serverless temporanea che puoi utilizzare per eseguire query e sviluppare codice senza dover eseguire il provisioning e gestire le risorse di cluster e notebook.
Profili di runtime (modelli di sessione): un profilo di runtime (chiamato modello di sessione in Google Cloud CLI e nell'API Dataproc) è una configurazione riutilizzabile che puoi utilizzare per definire le sessioni interattive. Il profilo contiene le impostazioni della sessione, come il livello di computing, la configurazione dell'esecutore, le proprietà di Spark e le dipendenze della libreria. Utilizza il profilo di runtime per creare ambienti di sessione interattivi per lo sviluppo, in genere all'interno di un notebook Jupyter.
Il modello basato su cluster
Managed Service for Apache Spark sui cluster è il modo standard e incentrato sull'infrastruttura di utilizzare Managed Service for Apache Spark. Ti offre il controllo completo su un insieme dedicato di macchine virtuali per le tue attività di trattamento dati.
- Cluster: un cluster è il tuo motore di trattamento dati personale, composto da Google Cloud macchine virtuali. Crei un cluster per eseguire framework open source come Apache Spark e Apache Hadoop. Hai il pieno controllo sulle dimensioni del cluster, sui tipi di macchine e sulla configurazione.
- Job: un job è un'attività specifica, ad esempio uno script PySpark o una query Hadoop. Anziché eseguire un job direttamente su un cluster, lo invii a Managed Service for Apache Spark, che ne gestisce l'esecuzione. Puoi inviare più job al cluster.
- Modelli di workflow: un modello di workflow è una definizione riutilizzabile che orchestra una serie di job (un workflow). Può definire le dipendenze tra i job, ad esempio per eseguire un job di machine learning solo dopo il completamento di un job di pulizia dei dati. Il workflow basato su modelli può essere eseguito su un cluster esistente o su un cluster temporaneo (temporaneo) creato per eseguire il workflow, quindi eliminato al termine del workflow. Puoi utilizzare il template per eseguire il workflow definito ogni volta che è necessario.
- Policy di scalabilità automatica: una policy di scalabilità automatica contiene regole che definisci per aggiungere o rimuovere macchine worker da un cluster in base al workload del cluster, in modo da ottimizzare dinamicamente i costi e le prestazioni del cluster.
Personalizzazione dell'ambiente
Managed Service for Apache Spark sui cluster offre funzionalità e componenti del cluster che puoi utilizzare per personalizzare l'ambiente dell'applicazione.
Ambienti di sviluppo e notebook
I notebook e gli IDE serverless di Managed Service for Apache Spark si collegano ad ambienti di sviluppo integrati in cui puoi scrivere ed eseguire il codice.
- BigQuery Studio e Workbench: si tratta di ambienti di analisi e notebook unificati. Ti consentono di scrivere codice (ad esempio in un notebook Jupyter) e di utilizzare un cluster Managed Service for Apache Spark o una sessione serverless come potente motore di backend per eseguire il codice su set di dati di grandi dimensioni.
- Plug-in Managed Service for Apache Spark JupyterLab: questo
JupyterLabextensionufficiale funge da pannello di controllo per Managed Service for Apache Spark serverless all'interno dell'ambiente del notebook. Semplifica il flusso di lavoro consentendoti di sfogliare, creare e gestire i cluster e inviare job senza dover uscire dall'interfaccia di Jupyter. - Google Cloud Data Agent Kit: Data Agent Kit consente a data scientist, ingegneri e sviluppatori di gestire l'intero ciclo di vita del workload dei dati all'interno del proprio IDE. Data Agent Kit fornisce supporto per Managed Service for Apache Spark, consentendoti di sviluppare codice, creare sessioni interattive e creare pipeline direttamente da VS Code o da un'interfaccia a riga di comando basata su agenti supportata.
- Connettore Python di Managed Service for Apache Spark Connect: questa libreria Python semplifica il processo di utilizzo di Spark Connect con Managed Service for Apache Spark. Gestisce l'autenticazione e la configurazione degli endpoint, semplificando notevolmente la connessione dell'ambiente Python locale, ad esempio un notebook o un IDE, a un cluster Managed Service for Apache Spark remoto per lo sviluppo interattivo.
Il modello di container
Managed Service for Apache Spark su Google Kubernetes Engine esegue il deployment dei cluster virtuali Managed Service for Apache Spark su un cluster GKE. A differenza dei cluster Managed Service for Apache Spark, i cluster virtuali Managed Service for Apache Spark non eseguono il provisioning di VM master e worker separate. Invece, eseguono il provisioning dei node pool all'interno di un cluster GKE. I job di Managed Service for Apache Spark su GKE vengono eseguiti come pod in questi pool di nodi. I pool di nodi e la pianificazione dei pod sui pool di nodi sono gestiti da Managed Service for Apache Spark su GKE.