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 para o administrador conceder à conta de serviço o papel do IAM Dataproc Editor (roles/dataproc.editor) no seu projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para executar um arquivo de notebook no Dataproc sem servidor. Para ver 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 à conta de serviço essas permissões com papéis personalizados ou outros papéis predefinidos.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Notebooks, Vertex AI, and Dataproc.

    Ative as APIs

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative as APIs Notebooks, Vertex AI, and Dataproc.

    Ative as 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