Usar o Serverless para Apache Spark 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 Google Cloud sem servidor para Apache Spark.
Sua instância de notebooks gerenciados pode enviar um código de arquivo de notebook para ser executado no serviço sem servidor para Apache Spark. 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 do Serverless para Apache Spark se aplicam somente ao momento em que a carga de trabalho está em execução.
Requisitos
Para executar um arquivo de notebook no Serverless para Apache Spark, consulte os requisitos a seguir.
A sessão sem servidor para Apache Spark 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çãoPara executar um arquivo de notebook no Serverless para Apache Spark, 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 do Serverless para Apache Spark 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 Google Cloud Serverless para Apache Spark para configuração de rede do Spark.
Permissões
Para garantir que a conta de serviço tenha as permissões necessárias
para executar um arquivo de notebook no Serverless para Apache Spark,
peça ao administrador para conceder a ela o
papel do IAM de Editor do Dataproc (roles/dataproc.editor
)
no projeto.
Esse papel predefinido contém as permissões necessárias para executar um arquivo de notebook no Serverless para Apache Spark. Para acessar 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 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 conceder essas permissões à conta de serviço com papéis personalizados ou outros papéis predefinidos.
Antes de começar
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. - Configure uma rede VPC se ainda não tiver feito isso, que atenda aos requisitos listados em Configuração de rede doGoogle Cloud Serverless para Apache Spark.
No console Google Cloud , acesse a página Notebooks gerenciados.
Ao lado do nome da instância de notebooks gerenciados, clique em Abrir JupyterLab.
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.
No campo Nome da sessão, insira um nome para sua sessão.
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.
Na seção Configuração de rede, selecione a Rede e a Sub-rede de uma rede que atenda aos requisitos listados em Configuração de rede doGoogle Cloud sem servidor para Apache Spark.
Clique em Criar.
Um novo arquivo de notebook é aberto. A sessão sem servidor para Apache Spark que você criou é o kernel que executa o código do arquivo de notebook.
Adicione o código ao novo arquivo do notebook e execute o código.
Para executar o código em um kernel diferente, altere o kernel.
Quando você quiser executar o código na sessão do Serverless para Apache Spark novamente, altere o kernel de volta para o kernel do Serverless para Apache Spark.
No JupyterLab, feche o arquivo do notebook criado quando você criou a sessão do Serverless para Apache Spark.
Na caixa de diálogo exibida, clique em Encerrar sessão.
No Google Cloud console, acesse a página Sessões do Dataproc.
Selecione a sessão que você quer encerrar e clique em Encerrar.
No Google Cloud console, acesse a página Sessões do Dataproc.
Selecione a sessão de dados que você quer excluir e clique em Excluir.
- Saiba mais sobre o Serverless para Apache Spark.
Abrir JupyterLab
Iniciar uma sessão do Serverless para Apache Spark
Para iniciar uma sessão do Serverless para Apache Spark, conclua as etapas a seguir.
Executar o código no Serverless para Apache Spark e em outros kernels
Encerrar sua sessão do Serverless para Apache Spark
É possível encerrar uma sessão do Serverless para Apache Spark na interface do JupyterLab ou no console Google Cloud . O código no arquivo de notebook é preservado.
JupyterLab
Console do Google Cloud
Excluir sua sessão do Serverless para Apache Spark
É possível excluir uma sessão do Serverless para Apache Spark usando o console Google Cloud . O código no arquivo de notebook é preservado.