Usar o Dataproc sem servidor do Dataproc com notebooks gerenciados

Nesta página, mostramos como executar um arquivo de notebook no Spark sem servidor em uma instância de notebooks gerenciados do Vertex AI Workbench usando o Dataproc Serverless.

Sua instância de notebooks gerenciados pode enviar um código de arquivo de notebook para ser executado no serviço sem servidor do Dataproc. O serviço executa o código em uma infraestrutura de computação gerenciada que escalona automaticamente os recursos conforme necessário. Portanto, não é necessário provisionar e gerenciar seu próprio cluster.

As cobranças sem servidor do Dataproc se aplicam somente ao momento em que a carga de trabalho está em execução.

Requisitos

Para executar um arquivo de notebook no Spark Serverless sem servidor do Dataproc, consulte os requisitos a seguir.

  • A sessão sem servidor do Dataproc precisa ser executada na mesma região da instância de notebooks gerenciados.

  • A restrição "Requer login do SO" (constraints/compute.requireOsLogin) não pode estar ativada para seu projeto. Consulte Gerenciar o Login do SO em uma organização

  • Para executar um arquivo de notebook no Dataproc sem servidor, forneça uma conta de serviço com permissões específicas. É possível conceder essas permissões à conta de serviço padrão ou fornecer uma conta de serviço personalizada. Consulte a seção "Permissões desta página".

  • A sessão Spark sem servidor do Dataproc usa uma rede de nuvem privada virtual (VPC) para executar cargas de trabalho. A sub-rede VPC precisa atender a requisitos específicos. Consulte os requisitos em Configuração de rede do Dataproc sem servidor para o Spark.

Permissões

Para garantir que a conta de serviço tenha as permissões necessárias para executar um arquivo de notebook no Dataproc sem servidor, peça ao administrador para conceder a ela o papel do IAM de Editor do Dataproc (roles/dataproc.editor) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para executar um arquivo de notebook no Dataproc sem servidor. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para executar um arquivo de notebook no Dataproc sem servidor:

  • 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 conceder essas permissões à conta de serviço com papéis personalizados ou outros papéis predefinidos.

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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks, Vertex AI, and Dataproc APIs.

    Enable the APIs

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks, Vertex AI, and Dataproc APIs.

    Enable the APIs

  8. Crie uma instância de notebook gerenciado se ainda não tiver feito isso.
  9. Configure uma rede VPC se ainda não tiver feito isso, que atenda aos requisitos listados em Configuração de rede do Dataproc Serverless para Spark.

Abrir JupyterLab

  1. No Console do Google Cloud, acesse a página Notebooks gerenciados.

    Acessar Notebooks gerenciados

  2. Ao lado do nome da instância de notebooks gerenciados, clique em Abrir JupyterLab.

Iniciar uma sessão do Spark sem servidor do Dataproc

Para iniciar uma sessão do Spark sem servidor do Dataproc, conclua as etapas a seguir.

  1. Na interface JupyterLab da instância de notebooks gerenciados, selecione a guia Acesso rápido e, em seguida, selecione Spark sem servidor. Se a guia Acesso rápido não estiver aberta, selecione Arquivo > Novo acesso rápido para abri-la.

    A caixa de diálogo Criar sessão do Spark sem servidor é exibida.

  2. No campo Nome da sessão, insira um nome para sua sessão.

  3. Na seção Configuração de execução, insira a conta de serviço que você quer usar. Se você não inserir uma conta de serviço, sua sessão usará a conta de serviço padrão do Compute Engine.

  4. Na seção Configuração de rede, selecione Rede e Sub-rede que atenda aos requisitos listados em Configuração de rede do Dataproc sem servidor para o Spark.

  5. Clique em Criar.

    Um novo arquivo de notebook é aberto. A sessão Spark sem servidor do Dataproc que você criou é o kernel que executa o código do arquivo de notebook.

Executar o código no Spark Serverless Server do Dataproc e em outros kernels

  1. Adicione o código ao novo arquivo do notebook e execute o código.

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

  3. Quando você quiser executar o código na sessão do Spark sem servidor do Dataproc novamente, altere o kernel de volta para o kernel do Spark do servidor sem servidor do Dataproc.

Encerrar sua sessão do Spark sem servidor do Dataproc

É possível encerrar uma sessão do Spark sem servidor do Dataproc na interface do JupyterLab ou no console do Google Cloud. O código no arquivo de notebook é preservado.

JupyterLab

  1. No JupyterLab, feche o arquivo do notebook criado quando você criou a sessão do Spark sem servidor do Dataproc.

  2. Na caixa de diálogo exibida, clique em Encerrar sessão.

Console do Google Cloud

  1. No console do Google Cloud, acesse a página Sessões do Dataproc.

    Acessar as sessões do Dataproc

  2. Selecione a sessão que você quer encerrar e clique em Encerrar.

Excluir a sessão Spark sem servidor do Dataproc

É possível excluir uma sessão do Spark sem servidor do Dataproc usando o console do Google Cloud. O código no arquivo de notebook é preservado.

  1. No console do Google Cloud, acesse a página Sessões do Dataproc.

    Acessar as sessões do Dataproc

  2. Selecione a sessão de dados que você quer excluir e clique em Excluir.

A seguir