O Dataproc Hub é um servidor JupyterHub personalizado. Os administradores configuram e criam instâncias do Dataproc Hub que podem gerar clusters do Dataproc de utilizador único para alojar ambientes de blocos de notas do Jupyter e do JupyterLab (consulte o artigo Use o Dataproc Hub).
Inicie o Notebooks para vários utilizadores. Pode criar uma instância do Vertex AI Workbench com o Dataproc ativado ou instalar o plug-in do Dataproc JupyterLab numa VM para disponibilizar blocos de notas a vários utilizadores.
Defina uma configuração de cluster
Uma instância do Dataproc Hub cria um cluster a partir de valores de configuração contidos num ficheiro de configuração de cluster YAML.
A configuração do cluster pode especificar qualquer funcionalidade ou componente disponível para clusters do Dataproc (como o tipo de máquina, as ações de inicialização e os componentes opcionais). A versão da imagem do cluster tem de ser 1.4.13 ou superior. A tentativa de gerar um cluster com uma versão da imagem inferior a 1.4.13 vai causar um erro e falhar.
Exemplo de ficheiro de configuração de cluster YAML
clusterName: cluster-name config: softwareConfig: imageVersion: 2.2-ubuntu22 optionalComponents: - JUPYTER
Cada configuração tem de ser guardada no Cloud Storage. Pode criar e guardar vários ficheiros de configuração para dar aos utilizadores uma escolha quando usam o Dataproc Hub para criar o respetivo ambiente de bloco de notas do cluster do Dataproc.
Existem duas formas de criar um ficheiro de configuração de cluster YAML:
Crie um ficheiro de configuração do cluster YAML a partir da consola
Exporte um ficheiro de configuração YAML de um cluster existente
Crie um ficheiro de configuração do cluster YAML a partir da consola
- Abra a página Criar um cluster na Google Cloud consola e, em seguida, selecione e preencha os campos para especificar o tipo de cluster que o Dataproc Hub vai gerar para os utilizadores.
- Na parte inferior do painel esquerdo, selecione "REST equivalente".
- Copie o bloco JSON gerado, excluindo a linha de pedido POST inicial e, em seguida, cole o bloco JSON num conversor JSON para YAML online (pesquise online "Converter JSON para YAML").
- Copie o YAML convertido para um ficheiro cluster-config-filename.yaml local.
Exporte um ficheiro 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 ficheiro cluster-config-filename.yaml local.
gcloud dataproc clusters export cluster-name \ --destination cluster-config-filename.yaml \ --region region
Guarde o ficheiro de configuração YAML no Cloud Storage
Copie o ficheiro de configuração do cluster YAML local para o contentor 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 indicadas na tabela abaixo para definir atributos dos clusters do Dataproc que serão gerados pelos utilizadores do hub.
Variável | Descrição | Exemplo |
---|---|---|
NOTEBOOKS_LOCATION | Contentor do Cloud Storage ou pasta do contentor que contém blocos de notas do utilizador. O prefixo `gs://` é opcional. Predefinição: o segmento de preparação do Dataproc. | gs://bucket-name/ |
DATAPROC_CONFIGS | Lista de strings delimitadas por vírgulas dos caminhos do Cloud Storage para os ficheiros de configuração do cluster YAML. O prefixo `gs://`
é opcional. Predefiniçã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 onde a instância do Dataproc Hub está localizada. Os utilizadores podem selecionar uma destas zonas como a zona onde o respetivo cluster do Dataproc vai ser gerado. Predefinição: "b". | b,c,d |
DATAPROC_DEFAULT_SUBNET | Sub-rede na qual a instância do Dataproc Hub vai gerar clusters do Dataproc. Predefiniçã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 que as VMs do Dataproc vão executar. Predefinição: se não for definido, é usada a conta de serviço do Dataproc predefinida. | service-account@project-id.iam.gserviceaccount.com |
SPAWNER_DEFAULT_URL | Se a IU do Jupyter ou JupyterLab deve ser apresentada em clusters do Dataproc gerados por predefinição. Predefinição: "/lab". | `/` ou `/lab`, respetivamente, para o Jupyter ou o JupyterLab. |
DATAPROC_ALLOW_CUSTOM_CLUSTERS | Se permite que os utilizadores personalizem os respetivos clusters do Dataproc. Predefinição: false. | "true" ou "false" |
DATAPROC_MACHINE_TYPES_LIST | Lista de tipos de máquinas que os utilizadores podem escolher para os respetivos clusters do Dataproc gerados, se a personalização de clusters (DATAPROC_ALLOW_CUSTOM_CLUSTERS) estiver ativada. Predefinição: vazio (todos os tipos de máquinas são permitidos). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
NOTEBOOKS_EXAMPLES_LOCATION | Caminho do Cloud Storage para o contentor de blocos de notas ou a pasta do contentor a transferir para o cluster do Dataproc gerado quando o cluster é iniciado. Predefinição: vazio. | gs://bucket-name/ |
Definir variáveis de ambiente do hub
Existem duas formas de definir variáveis de ambiente do hub:
Defina variáveis de ambiente do hub a partir da consola
Quando cria uma instância do Dataproc Hub no separador User-Managed Notebooks na página Dataproc→Workbench na consola Google Cloud , pode clicar no botão Preencher para abrir um formulário Preencher Dataproc Hub que lhe permite definir cada variável de ambiente.
Defina variáveis de ambiente do hub num ficheiro de texto
Crie o ficheiro. Pode usar um editor de texto para definir as variáveis de ambiente da instância do Dataproc Hub num ficheiro local. Em alternativa, pode criar o ficheiro executando o seguinte comando depois de preencher os valores dos marcadores de posição e alterar ou adicionar variáveis e os respetivos valores.
cat <<EOF > environment-variables-file DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml NOTEBOOKS_LOCATION=gs://bucket/notebooks DATAPROC_LOCATIONS_LIST=b,c EOF
Guarde o ficheiro no Cloud Storage. Copie o ficheiro de variáveis de ambiente da instância do Dataproc Hub local para o contentor do Cloud Storage.
gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/
Defina funções de gestão de identidade e de acesso (IAM)
O Dataproc Hub inclui as seguintes identidades com as seguintes capacidades:
- Administrador: cria uma instância do Dataproc Hub
- Utilizador de dados e ML: acede à 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 funções ou autorizações específicas para realizar as respetivas tarefas associadas. A tabela abaixo resume as funções e as autorizações do IAM necessárias para cada identidade.
Identidade | Tipo | Função ou autorização |
---|---|---|
Administrador do Dataproc Hub | Conta de utilizador ou de serviço | roles/notebooks.admin |
Utilizador do Dataproc Hub | Utilizador | 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 a partir da consola, a sua conta de utilizador tem de ter autorização
compute.instances.create
. Google Cloud Além disso, a conta de serviço da instância, ou seja, a conta de serviço predefinida do Compute Engine ou a conta de serviço especificada pelo utilizador indicada em IAM e administrador > Contas de serviço (consulte Conta de serviço da VM do Dataproc), tem de ter a autorizaçãoiam.serviceAccounts.actAs
.Aceda à página Dataproc→Workbench na Google Cloud consola e, de seguida, selecione o separador User-Managed Notebooks.
Se não estiver pré-selecionado como filtro, clique na caixa Filtro e, de seguida, selecione **Ambiente:Dataproc Hub"".
Clique em Novo bloco de notas→Dataproc Hub.
Na página Crie um bloco de notas gerido pelo utilizador, faculte as seguintes informações:
- Nome do bloco de notas: nome da instância do Dataproc Hub.
- Região: selecione uma região para a instância do Dataproc Hub. Os clusters do Dataproc gerados por esta instância do Dataproc Hub também são criados nesta região.
- Zona: selecione uma zona na região selecionada.
- Ambiente:
Environment
: selecioneDataproc Hub
.Select a script to run after creation
(opcional): pode inserir ou procurar e selecionar um script ou um executável de ação de inicialização para executar no cluster do Dataproc gerado.Populate Dataproc Hub (optional)
: clique em Populate para abrir um formulário que lhe permite definir cada uma das variáveis de ambiente do hub (consulte o artigo Defina as variáveis de ambiente da instância do Dataproc Hub para ver uma descrição de cada variável). O Dataproc usa valores predefinidos para todas as variáveis de ambiente não definidas. Em alternativa, pode definir pares Metadatakey:value
para definir variáveis de ambiente (consulte o item seguinte).Metadata
:- Se criou um ficheiro de texto que
contém as definições das variáveis de ambiente do hub (consulte
Definir variáveis de ambiente do hub),
indique o nome do ficheiro como
key
e a localização do Cloud Storage do ficheiro comovalue
.gs://bucket-name/folder-name/environment-variable-filename
O Dataproc usa valores predefinidos para todas as variáveis de ambiente não definidas.
- Se criou um ficheiro de texto que
contém as definições das variáveis de ambiente do hub (consulte
Definir variáveis de ambiente do hub),
indique o nome do ficheiro como
- Configuração da máquina:
Machine Type
: selecione o tipo de máquina do Compute Engine.- Defina outras opções de configuração da máquina.
- Outras opções:
- Pode expandir e definir ou substituir os valores predefinidos nas secções Discos, Rede, Autorização, Segurança e Atualização do ambiente e estado do sistema.
- Clique em Criar para iniciar a instância do Dataproc Hub.
O link Abrir JupyterLab para a instância do Dataproc Hub fica ativo após a criação da instância. Os utilizadores clicam neste link para abrir a página do servidor JupyterHub para configurar e criar um cluster do Dataproc JupyterLab (consulte Usar o Dataproc Hub).