Utilizzare Serverless per Apache Spark con i blocchi note gestiti

Questa pagina mostra come eseguire un file notebook su Spark serverless in un'istanza di notebook gestiti da Vertex AI Workbench utilizzando Google Cloud Serverless per Apache Spark.

L'istanza di Managed Notebooks può inviare il codice di un file notebook da eseguire sul servizio Serverless per Apache Spark. Il servizio esegue il codice su un'infrastruttura di calcolo gestita che scala automaticamente le risorse in base alle esigenze. Pertanto, non devi eseguire il provisioning e gestire il tuo cluster.

Gli addebiti per Serverless per Apache Spark si applicano solo al periodo di esecuzione del carico di lavoro.

Requisiti

Per eseguire un file notebook su Serverless per Apache Spark, consulta i seguenti requisiti.

  • La sessione Serverless per Apache Spark deve essere eseguita nella stessa regione dell'istanza di notebook gestiti.

  • Il vincolo Richiedi accesso al sistema operativo (constraints/compute.requireOsLogin) non deve essere abilitato per il tuo progetto. Consulta Gestire OS Login in un'organizzazione.

  • Per eseguire un file notebook su Serverless for Apache Spark, devi fornire un service account con autorizzazioni specifiche. Puoi concedere queste autorizzazioni all'account di servizio predefinito o fornire un service account personalizzato. Consulta la sezione Autorizzazioni di questa pagina.

  • La sessione Serverless per Apache Spark utilizza una rete Virtual Private Cloud (VPC) per eseguire i carichi di lavoro. La subnet VPC deve soddisfare requisiti specifici. Consulta i requisiti in Google Cloud Serverless per Apache Spark per la configurazione di rete di Spark.

Autorizzazioni

Per assicurarti che il account di servizio disponga delle autorizzazioni necessarie per eseguire un file notebook su Serverless for Apache Spark, chiedi all'amministratore di concedere al account di servizio il ruolo IAM Editor Dataproc (roles/dataproc.editor) sul tuo progetto.

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

Questo ruolo predefinito contiene le autorizzazioni necessarie per eseguire un file notebook su Serverless for Apache Spark. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire un file notebook su Serverless per Apache Spark sono necessarie le seguenti autorizzazioni:

  • dataproc.agents.create
  • dataproc.agents.delete
  • dataproc.agents.get
  • dataproc.agents.update
  • dataproc.session.create
  • dataproc.sessions.get
  • dataproc.sessions.list
  • dataproc.sessions.terminate
  • dataproc.sessions.delete
  • dataproc.tasks.lease
  • dataproc.tasks.listInvalidatedLeases
  • dataproc.tasks.reportStatus

L'amministratore potrebbe anche essere in grado di concedere al account di servizio queste autorizzazioni tramite ruoli personalizzati o altri ruoli predefiniti.

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.

    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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks, Vertex AI, and Dataproc 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

  5. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks, Vertex AI, and Dataproc 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

  8. Se non l'hai ancora fatto, configura una rete VPC che soddisfi i requisiti elencati in Google Cloud Configurazione di rete di Serverless per Apache Spark.
  9. Apri JupyterLab

    1. Nella console Google Cloud , vai alla pagina Blocchi note gestiti.

      Vai a Notebook gestiti

    2. Fai clic su Apri JupyterLab accanto al nome dell'istanza di blocchi note gestiti.

    Avvia una sessione Serverless per Apache Spark

    Per avviare una sessione Serverless per Apache Spark, completa i seguenti passaggi.

    1. Nell'interfaccia JupyterLab dell'istanza di notebook gestiti, seleziona la scheda Avvio app, quindi seleziona Spark serverless. Se la scheda Avvio app non è aperta, seleziona File > Nuovo Avvio app per aprirla.

      Viene visualizzata la finestra di dialogo Crea sessione Spark serverless.

    2. Nel campo Nome sessione, inserisci un nome per la sessione.

    3. Nella sezione Configurazione dell'esecuzione, inserisci il service account che vuoi utilizzare. Se non inserisci un account di servizio, la sessione utilizzerà il service account predefinito di Compute Engine.

    4. Nella sezione Configurazione di rete, seleziona la Rete e la Subnet di una rete che soddisfa i requisiti elencati in Google Cloud Configurazione di rete di Serverless per Apache Spark.

    5. Fai clic su Crea.

      Si apre un nuovo file del blocco note. La sessione Serverless per Apache Spark che hai creato è il kernel che esegue il codice del file del notebook.

    Esegui il codice su Serverless per Apache Spark e altri kernel

    1. Aggiungi il codice al nuovo file del notebook ed eseguilo.

    2. Per eseguire il codice su un kernel diverso, cambia il kernel.

    3. Quando vuoi eseguire di nuovo il codice nella sessione Serverless per Apache Spark, imposta di nuovo il kernel su Serverless per Apache Spark.

    Terminare la sessione Serverless per Apache Spark

    Puoi terminare una sessione Serverless per Apache Spark nell'interfaccia di JupyterLab o nella console Google Cloud . Il codice nel file del blocco note viene conservato.

    JupyterLab

    1. In JupyterLab, chiudi il file del notebook creato quando hai creato la sessione Serverless per Apache Spark.

    2. Nella finestra di dialogo visualizzata, fai clic su Termina sessione.

    Console Google Cloud

    1. Nella console Google Cloud , vai alla pagina Sessioni Dataproc.

      Vai a Sessioni Dataproc

    2. Seleziona la sessione che vuoi terminare e poi fai clic su Termina.

    Elimina la sessione Serverless per Apache Spark

    Puoi eliminare una sessione Serverless per Apache Spark utilizzando la console Google Cloud . Il codice nel file del blocco note viene conservato.

    1. Nella console Google Cloud , vai alla pagina Sessioni Dataproc.

      Vai a Sessioni Dataproc

    2. Seleziona la sessione che vuoi eliminare e poi fai clic su Elimina.

    Passaggi successivi