Questo documento illustra i concetti chiave, i blocchi di base fondamentali, le funzionalità principali e i vantaggi di Managed Service for Apache Spark. Comprendere questi concetti di base ti aiuta a utilizzare in modo efficace Managed Service for Apache Spark per le tue attività di elaborazione dei dati.
Il modello serverless
Managed Service for Apache Spark serverless è il modello Managed Service for Apache Spark moderno e 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. Invii il 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 elimina. Non crei né gestisci risorse di cluster o job. Il servizio fa il lavoro per te.
- Sessioni interattive: le sessioni interattive forniscono un ambiente live e on demand per l'analisi esplorativa dei dati, in genere all'interno di un notebook Jupyter. Le sessioni interattive offrono la comodità di uno spazio di lavoro serverless temporaneo che puoi utilizzare per eseguire query e sviluppare codice senza dover eseguire il provisioning e gestire le risorse di cluster e notebook.
- Modelli di sessione: un modello di sessione è una configurazione riutilizzabile che puoi utilizzare per definire le sessioni interattive. Il modello contiene le impostazioni della sessione, come le proprietà Spark e le dipendenze delle librerie. Utilizzi il modello 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 elaborazione dei dati.
- Cluster: un cluster è il tuo motore di elaborazione dei dati personali, costituito da Google Cloud macchine virtuali. Crea un cluster per eseguire framework open source come Apache Spark e Apache Hadoop. Hai il pieno controllo delle dimensioni del cluster, dei tipi di macchine e della 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 gestisce l'esecuzione del job per te. 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 modello può essere eseguito su un cluster esistente o su un cluster temporaneo (effimero) che viene creato per eseguire il workflow e poi eliminato al termine del workflow. Puoi utilizzare il modello per eseguire il flusso di lavoro 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 carico di lavoro del cluster al fine di ottimizzare dinamicamente il costo 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.
Blocco note e ambienti di sviluppo
I notebook e gli IDE serverless di Managed Service for Apache Spark rimandano a ambienti di sviluppo integrati in cui puoi scrivere ed eseguire il codice.
- BigQuery Studio e Workbench: si tratta di ambienti unificati per l'analisi e i notebook. 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 JupyterLab di Managed Service for Apache Spark: questo
JupyterLabextensionfunge da pannello di controllo per Managed Service for Apache Spark serverless all'interno dell'ambiente notebook. Semplifica il flusso di lavoro consentendoti di sfogliare, creare e gestire cluster e inviare job senza dover uscire dall'interfaccia Jupyter. - Google Cloud Data Agent Kit per VS Code: questa estensione VS Code ufficiale consente a data scientist, ingegneri e sviluppatori di gestire l'intero ciclo di vita del carico di lavoro dei dati all'interno del proprio IDE. Data Agent Kit fornisce il supporto di Data Cloud per Managed Service for Apache Spark, consentendoti di sviluppare codice, creare sessioni interattive e creare pipeline direttamente da VS Code.
- 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 contenitore
Managed Service for Apache Spark su Google Kubernetes Engine esegue il deployment di 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. ma eseguono il provisioning dei pool di nodi all'interno di un cluster GKE. I job 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.