O Dataproc Hub é um servidor JupyterHub personalizado. Os administradores configuram e criam instâncias do Dataproc Hub que podem gerar usuários únicos Clusters do Dataproc para hospedar ambientes de notebook do Jupyter e JupyterLab (consulte Usar Dataproc Hub).
Iniciar Notebooks para vários usuários. Você pode criar uma instância Instância do Vertex AI Workbench ou instale o plug-in do Dataproc JupyterLab em uma VM para exibir notebooks a vários usuários.
Objetivos
Defina uma configuração de cluster do Dataproc ou use um dos arquivos de configuração predefinidos.
Definir variáveis de ambiente da instância do Dataproc Hub.
Crie uma instância do Dataproc Hub
Antes de começar
Se ainda não tiver feito isso, crie um projeto do Google Cloud e um bucket do Cloud Storage.
Como configurar o projeto
- 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.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Dataproc, Compute Engine, and Cloud Storage.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Dataproc, Compute Engine, and Cloud Storage.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Como criar um bucket do Cloud Storage em seu projeto para armazenar os dados usados neste tutorial.
- No console do Cloud, acesse a página Buckets do Cloud Storage.
- Clique em Criar bucket.
- Na página Criar um bucket, insira as informações do seu bucket. Para ir à próxima
etapa, clique em Continuar.
- Em Nomear o bucket, insira um nome que atenda aos requisitos de nomenclatura de bucket.
-
Em Escolha um local para armazenar seus dados, faça o seguinte:
- Selecione uma opção de Tipo de local.
- Escolha uma opção de Local.
- Em Escolher uma classe de armazenamento padrão para seus dados, selecione uma classe de armazenamento.
- Em Escolha como controlar o acesso a objetos, selecione uma opção de Controle de acesso.
- Em Configurações avançadas (opcional), especifique um método de criptografia, uma política de retenção ou rótulos de bucket.
- Clique em Criar.
Defina uma configuração de cluster
Uma instância do Dataproc Hub cria um cluster a partir de valores de configuração contidos em um arquivo de configuração de cluster YAML.
A configuração do cluster pode especificar qualquer recurso ou componente disponível para clusters do Dataproc (como tipo de máquina, ações de inicialização e componentes opcionais). A versão da imagem do cluster precisa ser 1.4.13 ou superior. A tentativa de gerar um cluster com uma versão de imagem anterior à 1.4.13 causará um erro e falhará.
Amostra do arquivo de configuração do cluster YAML
clusterName: cluster-name config: softwareConfig: imageVersion: 2.2-ubuntu22 optionalComponents: - JUPYTER
Cada configuração precisa ser salva no Cloud Storage. É possível criar e salvar vários arquivos de configuração para oferecer aos usuários uma opção quando eles usarem o Dataproc Hub para criar o ambiente de notebook do cluster do Dataproc.
Há duas maneiras de criar um arquivo de configuração de cluster YAML:
Crie um arquivo de configuração de cluster YAML no console
- Abra a página Criar um cluster.
no console do Google Cloud, depois selecione e preencha os campos para
especificar o tipo de cluster que o Dataproc Hub gerará para os usuários.
- Na parte inferior do painel esquerdo, selecione "REST equivalente".
- Copie o bloco JSON gerado excluindo a linha de solicitação POST principal e cole o bloco JSON em um conversor online de JSON para YAML (pesquise "Converter JSON em YAML").
- Copie o YAML convertido em um arquivo cluster-config-filename .yaml local.
Exporte um arquivo de configuração de cluster YAML de um cluster existente
- Crie um cluster que corresponda aos seus requisitos.
- Exporte a configuração do cluster para um arquivo cluster-config-filename.yaml local.
gcloud dataproc clusters export cluster-name \ --destination cluster-config-filename.yaml \ --region region
Salve o arquivo de configuração YAML no Cloud Storage
Copie o arquivo de configuração do cluster YAML local para o bucket do Cloud Storage.
gcloud storage cp cluster-config-filename.yaml gs://bucket-name/
Defina variáveis de ambiente da instância do Dataproc Hub
O administrador pode definir as variáveis de ambiente do hub listadas na tabela abaixo para definir os atributos dos clusters do Dataproc que serão gerados pelos usuários do hub.
Variável | Descrição | Exemplo |
---|---|---|
NOTEBOOKS_LOCATION | Bucket do Cloud Storage ou pasta do bucket que contém notebooks do usuário. O prefixo "gs://" é opcional. Padrão: o bucket de preparo do Dataproc | gs://bucket-name/ |
DATAPROC_CONFIGS | Lista delimitada por vírgulas de strings dos caminhos do Cloud Storage para arquivos de configuração do cluster YAML. O prefixo
"gs://" é opcional. Padrão: gs://dataproc-spawner-dist/example-configs/ . que contém example-cluster.yaml e example-single-node.yaml predefinidos.
|
gs://cluster-config-filename.yaml |
DATAPROC_LOCATIONS_LIST | Sufixos de zona na região em que a instância do Dataproc Hub está localizada. Os usuários podem selecionar uma dessas zonas como a zona em que o cluster do Dataproc será gerado. Padrão: "b". | b, c, d |
DATAPROC_DEFAULT_SUBNET | Sub-rede em que a instância do Dataproc Hub gerará clusters do Dataproc. Padrão: a sub-rede da instância do Dataproc Hub. | https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name |
DATAPROC_SERVICE_ACCOUNT | Conta de serviço em que as VMs do Dataproc serão executadas. Padrão: se não for definida, a conta de serviço padrão do Dataproc será usada. | service-account@project-id.iam.gserviceaccount.com |
SPAWNER_DEFAULT_URL | Se a IU do Jupyter ou do JupyterLab será exibida em clusters gerados pelo Dataproc por padrão. Padrão: "/lab". | "/" ou "/lab" para Jupyter ou JupyterLab, respectivamente. |
DATAPROC_ALLOW_CUSTOM_CLUSTERS | Se os usuários podem personalizar os clusters do Dataproc. Padrão: falso. | "verdadeiro" ou "falso" |
DATAPROC_MACHINE_TYPES_LIST | Lista de tipos de máquinas que os usuários podem escolher para os clusters gerados pelo Dataproc, se a personalização do cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) estiver ativada. Padrão:vazio (todos os tipos de máquina são permitidos). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
NOTEBOOKS_EXAMPLES_LOCATION | Caminho do Cloud Storage para o bucket de notebooks ou a pasta do bucket a ser baixada para o cluster do Dataproc gerado quando o cluster for iniciado. Padrão: vazio. | gs://bucket-name/ |
Como definir variáveis de ambiente do hub
Há duas maneiras de definir variáveis de ambiente do hub:
Definir variáveis de ambiente do hub no console
Quando você cria uma instância do Dataproc Hub na guia Notebooks gerenciados pelo usuário Dataproc→Workbench página no console do Google Cloud, clique no botão Preencher para abrir um formulário Preencher Hub do Dataproc que permite definir cada variável de ambiente.
Definir variáveis de ambiente do hub em um arquivo de texto
Crie o arquivo. É possível usar um editor de texto para definir variáveis de ambiente da instância do Dataproc Hub em um arquivo local. Como alternativa, você pode criar o arquivo executando o seguinte comando depois de preencher os valores do marcador de posição e mudar ou adicionar as variáveis e os valores delas.
cat <<EOF > environment-variables-file DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml NOTEBOOKS_LOCATION=gs://bucket/notebooks DATAPROC_LOCATIONS_LIST=b,c EOF
Salve o arquivo no Cloud Storage. Copiar a localização Variáveis de ambiente da instância do Dataproc Hub no bucket do Cloud Storage.
gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/
Definir papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês)
O Dataproc Hub inclui as seguintes identidades com as seguintes capacidades:
- Administrador: cria uma instância do Dataproc Hub
- Usuário de dados e ML: acessa a IU do Dataproc Hub
- Conta de serviço do Dataproc Hub: representa o Dataproc Hub
- Conta de serviço do Dataproc: representa o cluster do Dataproc que o Dataproc Hub cria.
Cada identidade requer papéis ou permissões específicas para realizar as tarefas associadas. A tabela abaixo resume os papéis e permissões do IAM exigidos por cada identidade.
Identidade | Tipo | Papel ou permissão |
---|---|---|
Administrador do Dataproc Hub | Usuário ou conta de serviço | roles/notebooks.admin |
Usuário do Dataproc Hub | Usuário | notebooks.instances.use, dataproc.clusters.use |
Dataproc Hub | Conta de serviço | roles/dataproc.hubAgent |
Dataproc | Conta de serviço | roles/dataproc.worker |
Crie uma instância do Dataproc Hub
Antes de começar: para criar uma instância do Dataproc Hub no console do Google Cloud, sua conta de usuário precisa ter
compute.instances.create
. Além disso, a conta de serviço da instância, ou seja, a conta de serviço padrão do Compute Engine ou a conta de serviço especificada pelo usuário, listada em IAM e administrador > Contas de serviço, também precisa ter permissão. Veja Conta de serviço da VM do Dataprociam.serviceAccounts.actAs
.Acesse o Dataproc → Workbench. no console do Google Cloud e selecione Notebooks gerenciados pelo usuário .
Se ele não estiver pré-selecionado como filtro, clique na caixa Filtro e selecione **Ambiente:Dataproc Hub".
Clique em Novo Notebook → Dataproc Hub.
Na página Criar um notebook gerenciado pelo usuário, forneça as seguintes informações:
- Nome do notebook: nome da instância do Dataproc Hub.
- Região: selecione uma região para a instância do Dataproc Hub. Dataproc. gerados por essa instância do Dataproc Hub também serão criados na região.
- Zona: selecione uma zona na região selecionada.
- Ambiente:
Environment
: selecioneDataproc Hub
.Select a script to run after creation
(opcional): é possível inserir ou procurar e selecionar um ação de inicialização ou executável para ser executado no cluster gerado do Dataproc.Populate Dataproc Hub (optional)
: clique em Preencher para abrir um formulário que permite que você defina cada uma das variáveis de ambiente do hub (consulte Definir variáveis de ambiente da instância do Dataproc Hub para ver uma descrição de cada variável). O Dataproc usa valores padrão para as variáveis de ambiente não definidas. Como alternativa, É possível definir pares de metadadoskey:value
para definir variáveis de ambiente Consulte o próximo item.Metadata
:- Se você criou um arquivo de texto que
contém as configurações das variável de ambiente do hub (consulte
Como definir variáveis de ambiente do hub).
forneça o nome do arquivo como
key
egs://bucket-name/folder-name/environment-variable-filename
Local do arquivo no Cloud Storage comovalue
. O Dataproc usa valores padrão para nenhum valor não definido variáveis de ambiente.
- Se você criou um arquivo de texto que
contém as configurações das variável de ambiente do hub (consulte
Como definir variáveis de ambiente do hub).
forneça o nome do arquivo como
- Configuração da máquina:
Machine Type
: selecione o tipo de máquina do Compute Engine.- Defina outras opções de configuração de máquina.
- Outras opções:
- Você pode expandir, definir ou substituir os valores padrão nas seções Discos, Rede, Permissão, Segurança e Upgrade do ambiente e integridade do sistema em outras seções.
- Clique em Criar para iniciar a instância do Dataproc Hub.
O link Abrir JupyterLab para a instância do Dataproc Hub se torna ativos após a criação da instância. Os usuários clicam nesse link para abrir JupyterHub para configurar e criar um JupyterLab JupyterLab cluster (consulte Usar o Dataproc Hub).
Limpar
Excluir a instância do Dataproc Hub
- Para excluir a instância do Dataproc Hub:
gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
Excluir o bucket
- Para excluir o bucket do Cloud Storage criado em
Antes de começar, incluindo os arquivos de dados
armazenadas no bucket:
gcloud storage rm gs://${BUCKET_NAME} --recursive