Crea un'istanza abilitata per Dataproc
Questa pagina descrive come creare un'istanza di Vertex AI Workbench abilitata per Dataproc. Questa pagina descrive anche i vantaggi del plug-in JupyterLab di Dataproc e fornisce una panoramica su come utilizzarlo con Dataproc Serverless per Spark e Dataproc su Compute Engine.
Panoramica del plug-in JupyterLab di Dataproc
Le istanze di Vertex AI Workbench hanno il plug-in JupyterLab di Dataproc preinstallato, a partire dalla versione M113
e successive.
Il plug-in JupyterLab di Dataproc offre due modi per eseguire i job dei notebook Apache Spark: i cluster Dataproc e Spark Serverless su Dataproc.
- I cluster Dataproc includono un ricco insieme di funzionalità con controllo sull'infrastruttura su cui viene eseguito Spark. Scegli le dimensioni e la configurazione del tuo cluster Spark, consentendo la personalizzazione e il controllo del tuo ambiente. Questo approccio è ideale per carichi di lavoro complessi, job di lunga durata e gestione delle risorse granulare.
- Spark serverless basato su Dataproc elimina i problemi di infrastruttura. Invii i job Spark e Google gestisce il provisioning, la scalabilità e l'ottimizzazione delle risorse dietro le quinte. Questo approccio serverless offre un'opzione semplice e conveniente per i carichi di lavoro di data science e ML.
Con entrambe le opzioni, puoi utilizzare Spark per l'elaborazione e l'analisi dei dati. La scelta tra i cluster Dataproc e Spark Serverless dipende dai requisiti specifici del carico di lavoro, dal livello di controllo desiderato e dai pattern di utilizzo delle risorse.
Ecco alcuni vantaggi dell'utilizzo di Spark serverless per i carichi di lavoro di data science e ML:
- Nessuna gestione del cluster: non devi preoccuparti di eseguire il provisioning, configurare o gestire i cluster Spark. In questo modo risparmi tempo e risorse.
- Scalabilità automatica: Spark serverless esegue automaticamente lo scale up e lo scale down in base al carico di lavoro, quindi paghi solo per le risorse che utilizzi.
- Elevate prestazioni: Serverless Spark è ottimizzato per le prestazioni e sfrutta l'infrastruttura di Google Cloud.
- Integrazione con altre Google Cloud tecnologie: Serverless Spark si integra con altri Google Cloud prodotti, come BigQuery e Dataplex.
Per saperne di più, consulta la documentazione di Dataproc Serverless.
Limitazioni
Tieni presenti le seguenti limitazioni quando pianifichi il tuo progetto:
- Il plug-in JupyterLab di Dataproc non supporta i Controlli di servizio VPC.
Limitazioni di Dataproc
Si applicano i seguenti limiti di Dataproc:
- I job Spark vengono eseguiti con l'identità dell'account di servizio, non con l'identità dell'utente che li invia.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
Ruoli obbligatori
Per assicurarti che l'account di servizio disponga delle autorizzazioni necessarie per eseguire un file del notebook su un cluster Dataproc Serverless o su un cluster Dataproc, chiedi all'amministratore di concedere all'account di servizio i seguenti ruoli IAM:
-
Dataproc Worker (
roles/dataproc.worker
) nel tuo progetto -
Dataproc Editor (
roles/dataproc.editor
) sul cluster per l'autorizzazionedataproc.clusters.use
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire un file di notebook su un cluster Dataproc Serverless o su un cluster Dataproc. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per eseguire un file del blocco note su un cluster Dataproc Serverless o su un cluster Dataproc, sono necessarie le seguenti autorizzazioni:
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
-
dataproc.clusters.use
L'amministratore potrebbe anche assegnare all'account di servizio queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Creare un'istanza con Dataproc abilitato
Per creare un'istanza di Vertex AI Workbench con Dataproc abilitato, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Istanze.
Fai clic su
Crea nuova.Nella finestra di dialogo Nuova istanza, fai clic su Opzioni avanzate.
Nella finestra di dialogo Crea istanza, nella sezione Dettagli, assicurati che sia selezionata l'opzione Abilita sessioni interattive serverless di Dataproc.
Assicurati che Tipo di Workbench sia impostato su Istanza.
Nella sezione Ambiente, assicurati di utilizzare la versione più recente o una versione numerata
M113
o successiva.Fai clic su Crea.
Vertex AI Workbench crea un'istanza e la avvia automaticamente. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab.
Apri JupyterLab
Fai clic su Apri JupyterLab accanto al nome dell'istanza.
La scheda Avvio app di JupyterLab si apre nel browser. Per impostazione predefinita, contiene sezioni per notebook Dataproc Serverless e job e sessioni Dataproc. Se nel progetto e nella regione selezionati sono presenti cluster Jupyter-ready, sarà presente una sezione denominata Notebook cluster Dataproc.
Utilizzare il plug-in con Dataproc Serverless per Spark
I modelli di runtime Spark serverless che si trovano nella stessa regione e nello stesso progetto della tua istanza Vertex AI Workbench vengono visualizzati nella sezione Dataproc Serverless Notebooks della scheda Avvio di JupyterLab.
Per creare un modello di runtime, consulta Creare un modello di runtime Dataproc Serverless.
Per aprire un nuovo blocco note Spark serverless, fai clic su un modello di runtime. L'avvio del kernel Spark remoto richiede circa un minuto. Dopo l'avvio del kernel, puoi iniziare a scrivere codice. Per eseguire il codice su Serverless Spark, esegui una cella di codice nel tuo notebook.
Utilizzare il plug-in con Dataproc su Compute Engine
Se hai creato un cluster Jupyter Dataproc su Compute Engine, nella scheda Avvio è presente una sezione Notebook cluster Dataproc.
Vengono visualizzate quattro schede per ogni cluster Dataproc compatibile con Jupyter a cui hai accesso nella regione e nel progetto.
Per modificare la regione e il progetto:
Seleziona Impostazioni > Impostazioni Cloud Dataproc.
Nella scheda Configurazione di configurazione, in Informazioni sul progetto, modifica ID progetto e Regione, quindi fai clic su Salva.
Queste modifiche non vengono applicate finché non riavvii JupyterLab.
Per riavviare JupyterLab, seleziona File > Arresta e poi fai clic su Apri JupyterLab nella pagina Istanze Vertex AI Workbench.
Per creare un nuovo taccuino, fai clic su una scheda. Dopo l'avvio del kernel remoto sul cluster Dataproc, puoi iniziare a scrivere il codice e poi eseguirlo sul cluster.
Gestire Dataproc su un'istanza utilizzando l'API e gcloud CLI
Questa sezione descrive i modi per gestire Dataproc in un'istanza di Vertex AI Workbench.
Modificare la regione del cluster Dataproc
I kernel predefiniti dell'istanza Vertex AI Workbench, come Python e TensorFlow, sono kernel locali che vengono eseguiti nella VM dell'istanza. In un'istanza Vertex AI Workbench abilitata per Dataproc, il tuo notebook viene eseguito su un cluster Dataproc tramite un kernel remoto. Il kernel remoto viene eseguito su un servizio esterno alla VM dell'istanza, che ti consente di accedere a qualsiasi cluster Dataproc all'interno dello stesso progetto.
Per impostazione predefinita, Vertex AI Workbench utilizza i cluster Dataproc nella stessa regione dell'istanza, ma puoi modificare la regione Dataproc purché il gateway dei componenti e il componente Jupyter facoltativo siano attivati sul cluster Dataproc.
Per modificare la regione della VM dell'istanza, utilizza il seguente comando:
gcloud config set compute/region REGION
Sostituisci REGION con la regione che preferisci, ad esempio
us-east4
.Per modificare la regione del cluster Dataproc, utilizza il seguente comando:
gcloud config set dataproc/region REGION
Sostituisci REGION con la regione che preferisci, ad esempio
us-east4
.
Testa l'accesso
Il plug-in JupyterLab di Dataproc è abilitato per impostazione predefinita per le istanze di Vertex AI Workbench. Per testare l'accesso a Dataproc,
puoi controllare l'accesso ai kernel remoti della tua istanza inviando la seguente
richiesta curl al dominio kernels.googleusercontent.com
:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .
Se il comando curl non va a buon fine, verifica quanto segue:
Le voci DNS sono configurate correttamente.
Esiste un cluster disponibile nello stesso progetto (o dovrai crearne uno se non esiste).
Nel cluster sono attivati sia il gateway dei componenti sia il componente Jupyter facoltativo.
Disattivare Dataproc
Le istanze Vertex AI Workbench vengono create con Dataproc attivato per impostazione predefinita. Puoi creare un'istanza di Vertex AI Workbench con Dataproc disattivato impostando la chiave disable-mixer
metadata
su true
.
gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true
Abilita Dataproc
Puoi attivare Dataproc su un'istanza Vertex AI Workbench interrotta aggiornando il valore dei metadati.
gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false
Gestire Dataproc con Terraform
Dataproc per le istanze Vertex AI Workbench su Terraform viene gestito utilizzando la chiave disable-mixer
nel campo dei metadati.
Attiva Dataproc impostando la chiave disable-mixer
metadata
su false
. Disattiva Dataproc impostando la chiave dei metadati disable-mixer
su true
.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Risoluzione dei problemi
Per diagnosticare e risolvere i problemi relativi alla creazione di un'istanza abilitata per Dataproc, consulta la sezione Risolvere i problemi di Vertex AI Workbench.
Passaggi successivi
Per ulteriori informazioni sul plug-in JupyterLab di Dataproc, consulta Utilizzare JupyterLab per sessioni di notebook interattive e batch serverless.
Per scoprire di più su Spark serverless, consulta la documentazione di Dataproc Serverless.
Per scoprire di più sull'utilizzo di Spark con Google Cloud prodotti e servizi, consulta Spark su Google Cloud.
Sfoglia i modelli Dataproc disponibili su GitHub.
Scopri di più su Spark serverless tramite il
serverless-spark-workshop
su GitHub.Leggi la documentazione di Apache Spark.