Use o Serverless para Apache Spark com blocos de notas geridos

Esta página mostra como executar um ficheiro de bloco de notas no Spark sem servidor numa instância de blocos de notas geridos do Vertex AI Workbench usando o Google Cloud Serverless para Apache Spark.

A instância de blocos de notas geridos pode enviar o código de um ficheiro de bloco de notas para execução no serviço Serverless para Apache Spark. O serviço executa o código numa infraestrutura de computação gerida que dimensiona automaticamente os recursos conforme necessário. Por conseguinte, não tem de aprovisionar nem gerir o seu próprio cluster.

As cobranças do Serverless para Apache Spark aplicam-se apenas ao período em que a carga de trabalho está a ser executada.

Requisitos

Para executar um ficheiro de bloco de notas no Serverless para Apache Spark, consulte os seguintes requisitos.

Autorizações

Para garantir que a conta de serviço tem as autorizações necessárias para executar um ficheiro de bloco de notas no Serverless para Apache Spark, peça ao seu administrador para conceder à conta de serviço a função do IAM Editor do Dataproc (roles/dataproc.editor) no seu projeto.

Para mais informações sobre a concessão de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém as autorizações necessárias para executar um ficheiro de bloco de notas no Serverless para Apache Spark. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para executar um ficheiro de bloco de notas no Serverless para Apache Spark:

  • 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

O administrador também pode atribuir estas autorizações à conta de serviço com funções personalizadas ou outras funções predefinidas.

Antes de começar

  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 ainda não o fez, configure uma rede VPC que cumpra os requisitos indicados na Google Cloud configuração de rede do Serverless para Apache Spark.
  9. Abra o JupyterLab

    1. Na Google Cloud consola, aceda à página Blocos de notas geridos.

      Aceda a notebooks geridos

    2. Junto ao nome da instância de blocos de notas geridos, clique em Abrir JupyterLab.

    Inicie uma sessão do Serverless para Apache Spark

    Para iniciar uma sessão do Serverless para Apache Spark, conclua os seguintes passos.

    1. Na interface do JupyterLab da instância de blocos de notas geridos, selecione o separador Launcher e, de seguida, selecione Serverless Spark. Se o separador Launcher não estiver aberto, selecione Ficheiro > Novo Launcher para o abrir.

      É apresentada a caixa de diálogo Criar sessão do Spark sem servidor.

    2. No campo Nome da sessão, introduza um nome para a sessão.

    3. Na secção Configuração de execução, introduza a conta de serviço que quer usar. Se não introduzir uma conta de serviço, a sua sessão vai usar a conta de serviço predefinida do Compute Engine.

    4. Na secção Configuração de rede, selecione a Rede e a Sub-rede de uma rede que cumpra os requisitos indicados na Google Cloud configuração de rede do Serverless para Apache Spark.

    5. Clique em Criar.

      É aberto um novo ficheiro de notebook. A sessão do Serverless para Apache Spark que criou é o kernel que executa o código do ficheiro do bloco de notas.

    Execute o seu código no Serverless para Apache Spark e outros kernels

    1. Adicione código ao novo ficheiro de notebook e execute o código.

    2. Para executar código num kernel diferente, altere o kernel.

    3. Quando quiser executar novamente o código na sessão do Serverless para Apache Spark, altere o kernel novamente para o kernel do Serverless para Apache Spark.

    Termine a sua sessão do Serverless para Apache Spark

    Pode terminar uma sessão do Serverless para Apache Spark na interface do JupyterLab ou na Google Cloud consola. O código no ficheiro do notebook é preservado.

    JupyterLab

    1. No JupyterLab, feche o ficheiro de bloco de notas que foi criado quando criou a sessão do Serverless para Apache Spark.

    2. Na caixa de diálogo apresentada, clique em Terminar sessão.

    Google Cloud consola

    1. Na Google Cloud consola, aceda à página Sessões do Dataproc.

      Aceda às sessões do Dataproc

    2. Selecione a sessão que quer terminar e, de seguida, clique em Terminar.

    Elimine a sessão do Serverless para Apache Spark

    Pode eliminar uma sessão do Serverless para Apache Spark através da Google Cloud consola. O código no ficheiro do notebook é preservado.

    1. Na Google Cloud consola, aceda à página Sessões do Dataproc.

      Aceda às sessões do Dataproc

    2. Selecione a sessão que quer eliminar e, de seguida, clique em Eliminar.

    O que se segue?