Creare un'istanza di Managed Service per Apache Spark abilitata per Spark

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

Panoramica dell'estensione JupyterLab di Managed Service per Apache Spark

A partire dalla versione M113 e successive, le istanze di Vertex AI Workbench hanno l'estensione JupyterLab di Managed Service per Apache Spark preinstallata.

L'estensione JupyterLab di Managed Service per Apache Spark offre due modi per eseguire i job dei notebook Apache Spark: cluster di Managed Service per Apache Spark e Managed Service per Apache Spark.

  • I cluster di Managed Service per Apache Spark includono un ricco set di funzionalità con controllo sull'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.
  • Managed Service per Apache Spark elimina i problemi di infrastruttura. Invii i job Spark e Google gestisce il provisioning, la scalabilità e l'ottimizzazione delle risorse in background. Questo approccio serverless offre un' opzione conveniente per i carichi di lavoro di data science e ML.

Con entrambe le opzioni, puoi utilizzare Spark per l'elaborazione dei dati e l'analisi. La scelta tra i cluster di Managed Service per Apache Spark e Managed Service per Apache Spark 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 Managed Service per Apache Spark 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. In questo modo risparmierai tempo e risorse.
  • Scalabilità automatica: Managed Service per Apache Spark 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: Managed Service per Apache Spark è ottimizzato per le prestazioni e sfrutta l' Google Cloudinfrastruttura di.
  • Integrazione con altre Google Cloud tecnologie: Managed Service per Apache Spark si integra con altri Google Cloud prodotti, come BigQuery e Knowledge Catalog.

Per ulteriori informazioni, consulta la documentazione di Managed Service per Apache Spark.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Cloud Resource Manager, Managed Service for Apache Spark, and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Ruoli obbligatori

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

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

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

Autorizzazioni obbligatorie

Per eseguire un file di notebook su un cluster di Managed Service per Apache Spark o un cluster di Managed Service per Apache Spark 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.

Creare un'istanza con Managed Service per Apache Spark abilitato

Per creare un'istanza di Vertex AI Workbench con Managed Service per Apache Spark abilitato:

  1. Nella Google Cloud console, 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 la versione più recente o una versione numerata M113 o successiva.

  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

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 di Managed Service per Apache Spark e Job e sessioni di Managed Service per Apache Spark. Se nel progetto e nella regione selezionati sono presenti cluster pronti per Jupyter, sarà presente una sezione denominata Notebook dei cluster di Managed Service per Apache Spark.

Utilizzare l'estensione con Managed Service per Apache Spark

I modelli di runtime di Managed Service per Apache Spark che si trovano nella stessa regione e nello stesso progetto dell'istanza di Vertex AI Workbench vengono visualizzati nella sezione Notebook di Managed Service per Apache Spark della scheda Avvio app di JupyterLab.

Per creare un modello di runtime, consulta Creare un modello di runtime di Managed Service per Apache Spark runtime template.

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 scrivere il codice.

Utilizzare l'estensione con Managed Service per Apache Spark su Compute Engine

Se hai creato un cluster Jupyter di Managed Service per Apache Spark su Compute Engine , la scheda Avvio app ha una sezione Notebook dei cluster di Managed Service per Apache Spark.

Per ogni cluster di Managed Service per Apache Spark pronto per Jupyter a cui hai accesso in quella regione e in quel progetto vengono visualizzate quattro schede.

Per modificare la regione e il progetto:

  1. Seleziona Impostazioni > Impostazioni di Managed Service per Apache Spark su cloud.

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

    Queste modifiche non diventano effettive finché non riavvii JupyterLab.

  3. Per riavviare JupyterLab, seleziona File > Arresta, e quindi 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 di Managed Service per Apache Spark, puoi iniziare a scrivere il codice ed eseguirlo sul cluster.

Gestire Managed Service per Apache Spark su un'istanza utilizzando la gcloud CLI e l'API

Questa sezione descrive i modi per gestire Managed Service per Apache Spark su un'istanza di Vertex AI Workbench.

Modificare la regione del cluster di Managed Service per Apache Spark

I kernel predefiniti dell'istanza di Vertex AI Workbench, come Python e TensorFlow, sono kernel locali che vengono eseguiti nella VM dell'istanza. Su un'istanza di Vertex AI Workbench di Managed Service per Apache Spark abilitata per Spark, il notebook viene eseguito su un cluster di Managed Service per Apache Spark 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 di Managed Service per Apache Spark all'interno dello stesso progetto.

Per impostazione predefinita, Vertex AI Workbench utilizza i cluster di Managed Service per Apache Spark nella stessa regione dell'istanza, ma puoi modificare la regione di Managed Service per Apache Spark a condizione che il gateway dei componenti e il componente Jupyter facoltativo siano abilitati nel cluster di Managed Service per Apache Spark.

Controlla l'accesso

L'estensione JupyterLab di Managed Service per Apache Spark è abilitata per impostazione predefinita per le istanze di Vertex AI Workbench. Per testare l'accesso a Managed Service per Apache Spark, puoi controllare l'accesso ai kernel remoti dell'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, controlla che:

  1. Le voci DNS siano configurate correttamente.

  2. Nel progetto è disponibile un cluster (o dovrai crearne uno se non esiste).

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

Disattivare Managed Service per Apache Spark

Per impostazione predefinita, le istanze di Vertex AI Workbench vengono create con Managed Service per Apache Spark abilitato. Puoi creare un'istanza di Vertex AI Workbench con Managed Service per Apache Spark disattivato impostando la chiave metadata disable-mixer su true.

gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true

Abilitare Managed Service per Apache Spark

Puoi abilitare Managed Service per Apache Spark su un'istanza di Vertex AI Workbench arrestata aggiornando il valore dei metadati.

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

Gestire Managed Service per Apache Spark utilizzando Terraform

Managed Service per Apache Spark per le istanze di Vertex AI Workbench su Terraform viene gestito utilizzando la chiave disable-mixer nel campo dei metadati. Attiva Managed Service per Apache Spark impostando la chiave metadata disable-mixer su false. Disattiva Managed Service per Apache Spark 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 di Managed Service per Apache Spark abilitata per Spark, consulta Risoluzione dei problemi di Vertex AI Workbench.

Passaggi successivi