Crea un'istanza Dataproc abilitata per Spark

Questa pagina descrive come creare un'istanza di Vertex AI Workbench abilitata per Spark di Dataproc. Questa pagina descrive anche i vantaggi dell'estensione Dataproc JupyterLab e fornisce una panoramica su come utilizzare l'estensione con Dataproc Serverless e Dataproc su Compute Engine.

Panoramica dell'estensione Dataproc JupyterLab

Le istanze di Vertex AI Workbench hanno l'estensione Dataproc JupyterLab preinstallata, a partire dalla versione M113 e successive.

L'estensione Dataproc JupyterLab offre due modi per eseguire i job del notebook Apache Spark: cluster Dataproc e Dataproc Serverless.

  • I cluster Dataproc includono un ricco insieme di funzionalità con il controllo dell'infrastruttura su cui viene eseguito Spark. Scegli le dimensioni e la configurazione del cluster Spark, consentendo la personalizzazione e il controllo dell'ambiente. Questo approccio è ideale per carichi di lavoro complessi, job a lunga esecuzione e gestione granulare delle risorse.
  • Dataproc Serverless elimina i problemi relativi all'infrastruttura. Invii i tuoi job Spark e Google gestisce il provisioning, lo scaling e l'ottimizzazione delle risorse dietro le quinte. Questo approccio serverless offre un'opzione 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 cluster Dataproc e Dataproc Serverless dipende dai requisiti specifici del carico di lavoro, dal livello di controllo richiesto e dai pattern di utilizzo delle risorse.

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

  • Nessuna gestione dei cluster: non devi preoccuparti di eseguire il provisioning, la configurazione o la gestione dei cluster Spark. In questo modo risparmierai tempo e risorse.
  • Scalabilità automatica: Dataproc Serverless esegue automaticamente lo scale up e lo scale down in base al carico di lavoro, quindi paghi solo per le risorse che utilizzi.
  • Prestazioni elevate: Dataproc Serverless è ottimizzato per le prestazioni e sfrutta l'infrastruttura di Google Cloud.
  • Integrazione con altre Google Cloud tecnologie: Dataproc Serverless si integra con altri Google Cloud prodotti, come BigQuery e il catalogo universale Dataplex.

Per saperne di più, consulta la documentazione di Dataproc Serverless.

Prima di iniziare

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.

    Enable the APIs

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

    Go to project selector

  5. Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.

    Enable the APIs

  6. Ruoli obbligatori

    Per assicurarti che il account di servizio disponga delle autorizzazioni necessarie per eseguire un file notebook su un cluster Dataproc Serverless o un cluster Dataproc, chiedi all'amministratore di concedere al account di servizio i seguenti ruoli IAM:

    Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire un file notebook su un cluster Dataproc Serverless o un cluster Dataproc. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

    Autorizzazioni obbligatorie

    Per eseguire un file notebook 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 al account di servizio queste autorizzazioni tramite ruoli personalizzati o altri ruoli predefiniti.

    Crea un'istanza con Dataproc abilitato

    Per creare un'istanza di Vertex AI Workbench con Dataproc abilitato, segui questi passaggi:

    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 sessioni interattive serverless di Dataproc.

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

    6. Nella sezione Ambiente, assicurati di utilizzare l'ultima versione o una versione numerata 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 di JupyterLab. Per impostazione predefinita, contiene sezioni per Dataproc Serverless Notebooks e Job e sessioni Dataproc. Se nel progetto e nella regione selezionati sono presenti cluster pronti per Jupyter, verrà visualizzata una sezione denominata Notebook del cluster Dataproc.

    Utilizzare l'estensione con Dataproc Serverless

    I modelli di runtime Dataproc Serverless che si trovano nella stessa regione e nello stesso progetto dell'istanza Vertex AI Workbench vengono visualizzati nella sezione Dataproc Serverless Notebooks della scheda Launcher di JupyterLab.

    Per creare un modello di runtime, consulta Crea un modello di runtime Dataproc Serverless.

    Per aprire un nuovo notebook 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.

    Utilizzare l'estensione con Dataproc su Compute Engine

    Se hai creato un cluster Jupyter Dataproc su Compute Engine, la scheda Launcher contiene una sezione Notebook del cluster Dataproc.

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

    Per modificare la regione e il progetto:

    1. Seleziona Impostazioni > Impostazioni Cloud Dataproc.

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

      Queste modifiche non vengono applicate finché non riavvii JupyterLab.

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

    Per creare un nuovo notebook, 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.

    Gestisci Dataproc su un'istanza utilizzando gcloud CLI e l'API

    Questa sezione descrive i modi per gestire Dataproc su un'istanza di Vertex AI Workbench.

    Modifica 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. Su un'istanza di Vertex AI Workbench abilitata per Spark di Dataproc, il notebook viene eseguito su un cluster Dataproc tramite un kernel remoto. Il kernel remoto viene eseguito su un servizio esterno alla VM dell'istanza, il 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 a condizione che il gateway dei componenti e il componente Jupyter facoltativo siano attivi sul cluster Dataproc.

    Controlla l'accesso

    L'estensione Dataproc JupyterLab è abilitata 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 che:

    1. Le voci DNS sono configurate correttamente.

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

    3. Il cluster ha attivato 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 di Vertex AI Workbench arrestata aggiornando il valore dei metadati.

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

    Gestisci Dataproc utilizzando 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.

    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"
        }
      }
    }

    Risoluzione dei problemi

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

    Passaggi successivi