Concetti chiave di Managed Service for Apache Spark

Questo documento spiega i concetti chiave, i blocchi di base fondamentali, le funzionalità principali e i vantaggi di Managed Service for Apache Spark. La comprensione di questi concetti fondamentali ti aiuta a utilizzare in modo efficace Managed Service for Apache Spark per le attività di elaborazione dei dati.

Il modello serverless

Managed Service for Apache Spark serverless è il modello di Managed Service for Apache Spark moderno e con esecuzione automatizzata. Consente di eseguire job senza dover 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 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 esploratoria dei dati, in genere all'interno di un notebook Jupyter. Le sessioni interattive offrono la comodità di un workspace serverless temporaneo che puoi utilizzare per eseguire query e sviluppare codice senza dover eseguire il provisioning e la gestione delle 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 interattiva 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 per utilizzare Managed Service for Apache Spark. Ti offre il controllo completo su un insieme dedicato di macchine virtuali per le attività di elaborazione dei dati.

  • Cluster: un cluster è il tuo motore di elaborazione dei dati personale, composto da macchine virtuali. Google Cloud Crei un cluster per eseguire framework open source come Apache Spark e Apache Hadoop. Hai il controllo completo 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 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 (temporaneo) creato per eseguire il workflow e poi eliminato al termine del workflow. Puoi utilizzare il modello 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 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.

Ambienti di sviluppo e notebook

I notebook e gli IDE di Managed Service for Apache Spark serverless si collegano agli 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 motore di backend potente per eseguire il codice su set di dati di grandi dimensioni.
  • Plug-in JupyterLab di Managed Service for Apache Spark: questa JupyterLabextension ufficiale funge da pannello di controllo per Managed Service for Apache Spark serverless all'interno dell'ambiente notebook. Semplifica il workflow consentendoti di sfogliare, creare e gestire i cluster e inviare job senza dover uscire dall'interfaccia Jupyter.
  • Connettore Python di Managed Service for Apache Spark Connect: questa libreria Python semplifica la procedura 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 container

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. Al contrario, eseguono il provisioning di 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 nei pool di nodi sono gestiti da Managed Service for Apache Spark su GKE.