Crea un'istanza abilitata per Dataproc

Questa pagina descrive come creare un'istanza Vertex AI Workbench abilitata per Dataproc. In questa pagina vengono inoltre descritti i vantaggi del plug-in JupyterLab di Dataproc e offre una panoramica su come utilizzare il plug-in con Dataproc Serverless per Spark e Dataproc su Compute Engine.

Panoramica del plug-in JupyterLab di Dataproc

Nelle istanze di Vertex AI Workbench è preinstallato il plug-in Dataproc JupyterLab a partire dalla versione M113.

Il plug-in JupyterLab di Dataproc fornisce due modi per eseguire job dei blocchi note Apache Spark: 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. Puoi scegliere le dimensioni e la configurazione del cluster Spark, in modo da consentire la personalizzazione e il controllo dell'ambiente. Questo approccio è ideale per carichi di lavoro complessi, job a lunga esecuzione e gestione granulare delle risorse.
  • Spark serverless basato su Dataproc elimina i problemi dell'infrastruttura. Tu invii i tuoi job Spark e Google si occupa del provisioning, della scalabilità e dell'ottimizzazione delle risorse in background. Questo approccio serverless offre un'opzione semplice ed economica 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 dei carichi di lavoro, dal livello di controllo desiderato e dai pattern di utilizzo delle risorse.

I vantaggi dell'utilizzo di Spark serverless per i carichi di lavoro di data science e ML includono:

  • Nessuna gestione dei cluster: non devi preoccuparti del provisioning, della configurazione o della gestione dei cluster Spark. Ciò consente di risparmiare tempo e risorse.
  • Scalabilità automatica: Spark serverless fa automaticamente lo scale up e lo scale down in base al carico di lavoro, quindi paghi solo per le risorse che utilizzi.
  • Prestazioni elevate: Spark serverless è ottimizzato per le prestazioni e sfrutta l'infrastruttura di Google Cloud.
  • Integrazione con altre tecnologie Google Cloud: Spark serverless si integra con altri prodotti Google Cloud, come BigQuery e Dataplex.

Per ulteriori informazioni, consulta la documentazione di Dataproc Serverless.

Limitazioni

Tieni presente i seguenti limiti quando pianifichi il progetto:

  • Il plug-in JupyterLab di Dataproc non supporta i Controlli di servizio VPC.

Limitazioni di Dataproc

Si applicano le seguenti limitazioni di Dataproc:

  • I job Spark vengono eseguiti con l'identità dell'account di servizio, non con l'identità dell'utente che invia l'email.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Abilita le API Cloud Resource Manager, Dataproc, and Notebooks.

    Abilita le API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Abilita le API Cloud Resource Manager, Dataproc, and Notebooks.

    Abilita le API

Ruoli obbligatori

Per assicurarti che l'account di servizio disponga delle autorizzazioni necessarie per eseguire un file di blocco note su un cluster Dataproc serverless o un cluster Dataproc, chiedi all'amministratore di concedere all'account di servizio i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire un file di blocco note su un cluster Dataproc serverless o un cluster Dataproc. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire un file blocco note su un cluster Dataproc serverless o 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 essere in grado di concedere all'account di servizio queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Creazione di un'istanza con Dataproc abilitato

Per creare un'istanza di Vertex AI Workbench con Dataproc abilitato:

  1. Nella console Google Cloud, vai alla pagina Istanze.

    Vai a Istanze

  2. Fai clic su  Crea nuovo.

  3. Nella finestra di dialogo Nuova istanza, fai clic su Opzioni avanzate.

  4. Nella finestra di dialogo Crea istanza, nella sezione Dettagli, assicurati che sia selezionata l'opzione Abilita Dataproc.

  5. Assicurati che Tipo di workbench sia impostato su Istanza.

  6. Nella sezione Ambiente, assicurati di utilizzare la versione più recente o una versione con numero M113 o superiore.

  7. 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

Accanto al nome dell'istanza, fai clic su Apri JupyterLab.

Nel browser si apre la scheda Avvio app JupyterLab. Per impostazione predefinita, contiene sezioni per Blocchi note serverless di Dataproc e Job e sessioni Dataproc. Se sono presenti cluster compatibili con Jupyter nel progetto e nella regione selezionati, ci sarà una sezione chiamata Blocchi note cluster Dataproc.

Usa il plug-in con Dataproc Serverless per Spark

I modelli di runtime Spark serverless che si trovano nella stessa regione e nello stesso progetto dell'istanza di Vertex AI Workbench vengono visualizzati nella sezione Blocchi note serverless di Dataproc della scheda Avvio app JupyterLab.

Per creare un modello di runtime, consulta Creare un modello di runtime serverless Dataproc.

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 programmare. Per eseguire il codice su Spark serverless, esegui una cella di codice nel blocco note.

Utilizzo del plug-in con Dataproc su Compute Engine

Se hai creato un cluster Dataproc su Compute Engine, la scheda Avvio app include una sezione Blocchi note del cluster Dataproc.

Vengono visualizzate quattro schede per ogni cluster Dataproc pronto per Jupyter a cui hai accesso in quella regione e progetto.

Per modificare la regione e il progetto:

  1. Seleziona Impostazioni > Impostazioni di Cloud Dataproc.

  2. Nella scheda Configurazione configurazione, in Informazioni sul progetto, modifica l'ID progetto e la Regione, quindi fai clic su Salva.

    Queste modifiche non avranno effetto finché non riavvii JupyterLab.

  3. Per riavviare JupyterLab, seleziona File > Arresta, quindi fai clic su Apri JupyterLab nella pagina Istanze Vertex AI Workbench.

Per creare un nuovo blocco note, fai clic su una scheda. Dopo l'avvio del kernel remoto nel cluster Dataproc, puoi iniziare a scrivere il codice ed eseguirlo sul cluster.

Gestione di Dataproc su un'istanza mediante gcloud CLI e l'API

Questa sezione descrive come gestire Dataproc su un'istanza di Vertex AI Workbench.

Modifica la regione del cluster Dataproc

I kernel predefiniti della tua istanza di Vertex AI Workbench, come Python e TensorFlow, sono kernel locali eseguiti nella VM dell'istanza. In un'istanza Vertex AI Workbench abilitata per Dataproc, il blocco note viene eseguito in un cluster Dataproc tramite un kernel remoto. Il kernel remoto viene eseguito su un servizio esterno alla VM dell'istanza, consentendoti di accedere a qualsiasi cluster Dataproc all'interno dello stesso progetto.

Per impostazione predefinita, Vertex AI Workbench utilizza cluster Dataproc all'interno della stessa regione dell'istanza, ma puoi modificare la regione Dataproc purché il Gateway dei componenti e il componente facoltativo Jupyter siano abilitati sul cluster Dataproc.

  • Per cambiare la regione della VM dell'istanza, usa il comando seguente:

    gcloud config set compute/region REGION
    

    Sostituisci REGION con la regione che ti interessa, ad esempio us-east4.

  • Per modificare la regione del cluster Dataproc, utilizza questo comando:

    gcloud config set dataproc/region REGION
    

    Sostituisci REGION con la regione che ti interessa, ad esempio us-east4.

Accesso di prova

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 riesce, accertati che:

  1. Le voci DNS sono configurate correttamente.

  2. È disponibile un cluster nello stesso progetto (o dovrai crearne uno se non esiste).

  3. Nel cluster sono abilitati sia il Gateway dei componenti sia il componente facoltativo Jupyter.

Disattiva Dataproc

Le istanze di Vertex AI Workbench vengono create con Dataproc abilitato 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 abilitare Dataproc su un'istanza di Vertex AI Workbench arrestata aggiornando il valore dei metadati.

gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false

Gestione di Dataproc con Terraform

Le istanze Dataproc per Vertex AI Workbench su Terraform vengono gestite utilizzando la chiave disable-mixer nel campo dei metadati. Attiva Dataproc impostando la chiave disable-mixer metadata su false. Disattiva Dataproc impostando la chiave di metadati disable-mixer su true.

Per scoprire come applicare o rimuovere una configurazione Terraform, vedi Comandi Terraform di base.

resource "google_workbench_instance" "default" {
  name     = "workbench-instance-example"
  location = "us-central1-a"

  gce_setup {
    machine_type = "n1-standard-1"
    vm_image {
      project = "cloud-notebooks-managed"
      family  = "workbench-instances"
    }
    metadata = {
      disable-mixer = "false"
    }
  }
}

Risolvere i problemi

Per diagnosticare e risolvere i problemi relativi alla creazione di un'istanza abilitata per Dataproc, vedi Risoluzione dei problemi di Vertex AI Workbench.

Passaggi successivi