Neste documento, mostramos como criar sessões interativas e perfis de ambiente de execução do Serviço Gerenciado para Apache Spark, que são chamados de modelos de sessão na Google Cloud CLI e na API Dataproc. Um perfil de ambiente de execução é um conjunto reutilizável de configurações do Spark sem servidor, como o nível de computação e a configuração do executor, que pode ser usado para criar notebooks e sessões interativos.
Criar uma sessão interativa
Use a Google Cloud CLI ou a API do Serviço Gerenciado para Apache Spark para criar uma sessão interativa do Serviço Gerenciado para Apache Spark.
gcloud
Use o comando
gcloud beta dataproc sessions create spark SESSION_ID
para criar uma sessão interativa do Serviço Gerenciado para Apache Spark:
gcloud beta dataproc sessions create spark SESSION_ID \ --location=REGION \ optional flags ...
Substitua ou adicione o seguinte:
SESSION_ID: obrigatório. Um ID para a sessão.REGION: obrigatório. Uma região disponível do Compute Engine para localizar sua sessão.--version: opcional. Uma versão do ambiente de execução do Spark compatível. Se você não especificar uma versão, será usada a versão padrão do ambiente de execução do Spark.--container-image: opcional. Uma imagem do contêiner personalizada para usar na sessão.--property: opcional. Uma ou mais propriedades do Spark separadas por vírgulas para sua sessão.--service-account: opcional. A conta de serviço a ser usada na sessão. Se não for especificada, a conta de serviço padrão do Compute Engine será usada.--subnet: opcional. O nome de uma sub-rede na região da sessão. Se não for especificada, o Serviço Gerenciado para Apache Spark usará a sub-rededefaultna região da sessão. O Serviço Gerenciado para Apache Spark ativa o Acesso Privado do Google (PGA) na sub-rede. Para requisitos de conectividade de rede, consulte Configuração de rede do Serviço Gerenciado para Apache Spark.
REST
Use o método de API sessions.create do Serviço Gerenciado para Apache Spark para criar uma sessão interativa do Serviço Gerenciado para Apache Spark.
Configure os seguintes campos de solicitação:
name: obrigatório. O nome da sessão.version: opcional. Qualquer uma das versões do ambiente de execução do Spark compatíveis com sua sessão. Se você não especificar uma versão, a versão padrão será usada.containerImage: opcional. Uma imagem do contêiner personalizada para usar na sessão.properties: opcional. Um mapeamento de nomes de propriedades de sessão para valores. Para mais informações sobre as propriedades compatíveis, consulte Propriedades do Spark.serviceAccount: opcional. A conta de serviço a ser usada para executar a sessão. Se não for especificada, a conta de serviço padrão do Compute Engine será usada.subnetworkUri: opcional. O nome de uma sub-rede na região da sessão. Se não for especificada, o Serviço Gerenciado para Apache Spark usará a sub-rededefaultna região da sessão. O Serviço Gerenciado para Apache Spark ativa o Acesso Privado do Google (PGA) na sub-rede. Para requisitos de conectividade de rede, consulte Configuração de rede do Serviço Gerenciado para Apache Spark.
Criar um perfil de ambiente de execução
Um perfil de ambiente de execução do Serviço Gerenciado para Apache Spark (às vezes chamado de modelo de sessão) define configurações reutilizáveis para criar sessões interativas do Serviço Gerenciado para Apache Spark. É possível usar o Google Cloud console, a CLI gcloud ou a API Serviço Gerenciado para Apache Spark para criar um perfil de ambiente de execução. Na CLI gcloud e na API Dataproc, os perfis de ambiente de execução são chamados de session templates.
Console
Para criar um perfil de ambiente de execução do Serviço Gerenciado para Apache Spark usando o console doGoogle Cloud , siga estas etapas:
No console do Google Cloud , acesse a página Sem servidor (Perfis de ambiente de execução) do Serviço Gerenciado para Apache Spark.
Clique em Criar.
Na página Criar um perfil de ambiente de execução, defina as seguintes configurações principais:
Nome de exibição: obrigatório. Insira um nome de exibição para o perfil de ambiente de execução ou aceite o nome preenchido automaticamente. O nome de exibição precisa conter pelo menos uma letra ou um número e é salvo como um nome de exibição de nível superior para todos os tipos de sessão, incluindo o Spark Connect. O Nome do perfil do ambiente de execução é o ID do recurso e é derivado automaticamente do nome de exibição convertendo letras em minúsculas e caracteres inválidos em hifens, mostrados como uma dica abaixo do campo. Para personalizar o ID do recurso separadamente do nome de exibição, expanda Configuração adicional e edite Configuração do ambiente de execução.
Região: obrigatório. Selecione uma região disponível do Compute Engine para sessões que usam esse perfil de ambiente de execução. A região padrão é
us-east4(anteriormenteus-central1), e a lista exibe descrições de região.Descrição: opcional. Insira uma descrição para ajudar a identificar o perfil de ambiente de execução.
Nível: selecione o nível do Serviço Gerenciado para Apache Spark para execução da carga de trabalho:
Premium: padrão. Otimiza consultas complexas ou que exigem baixa latência com mecanismos de aceleração e oferece suporte a formatos de executor de alta memória e acelerados por GPU. Quando Premium é selecionado, a caixa de seleção Ativar o Lightning Engine para acelerar o desempenho é exibida e selecionada por padrão para acelerar os jobs do Spark com o Lightning Engine, que define
spark.dataproc.engine=lightningEngine.Padrão: fornece um ambiente de execução Spark padrão para o processamento de dados de rotina. As sessões interativas sempre são executadas no nível Premium. Selecionar Standard afeta apenas a execução em lote. Escolher Padrão desativa o Lightning Engine, restringe os formatos de máquina a formatos de CPU padrão (
standard-4,standard-8oustandard-16) e exige discosHDD (standard). Se você mudar do nível Premium para o Standard, as formas de alta memória ou GPU serão redefinidas parastandard-4, e os discos SSD serão redefinidos para um HDD200 GiB.
Configuração do executor: selecione o modo de dimensionamento de computação e o formato de máquina para os executores e o driver do Spark que executam sua carga de trabalho:
Geral: padrão. Oferece formatos de máquina somente de CPU adequados para cargas de trabalho gerais de extração, transformação e carregamento (ETL). Na lista Tipo de executor, selecione um formato de Memória alta, como
highmem-4(padrão) com 4 vCPUs e 32 GB de memória,highmem-8com 8 vCPUs e 64 GB de memória ouhighmem-16com 16 vCPUs e 128 GB de memória, ou selecione um formato Padrão, comostandard-4com 4 vCPUs e 16 GB de memória,standard-8com 8 vCPUs e 32 GB de memória oustandard-16com 16 vCPUs e 64 GB de memória. Os formatos de alta memória estão disponíveis apenas no nível Premium.Acelerado: fornece formatos de máquina com GPU adequados para cargas de trabalho de ciência de dados e treinamento e inferência de IA ou ML. Selecionar uma forma Acelerada muda automaticamente o nível para Premium e o nível de disco para SSD (premium) com um tamanho padrão de
375 GiB. Na lista Tipo de executor, selecione um formato L4 com 4, 8, 12, 16, 24, 48 ou 96 vCPUs ou selecione um formato A100, comoA100 40GB (12 vCPU)ouA100 80GB (12 vCPU).
Opcional: para personalizar as configurações de ambiente de execução avançado, recursos computacionais, escalonamento automático, metastore, rede, segurança, ciclo de vida ou propriedade, clique em Configuração adicional para expandir o painel. Ao lado de qualquer categoria que você queira personalizar, clique em Editar, defina as configurações no painel e clique em Salvar:
Configuração do ambiente de execução: configure o identificador do ambiente de execução, a versão do Spark, a imagem do contêiner, o bucket de preparo e o Package Repository do Python:
Nome do perfil do ambiente de execução: obrigatório. Aceite o ID de recurso gerado derivado do nome de exibição ou insira um código personalizado. O ID precisa ter de 4 a 63 caracteres, conter apenas letras minúsculas, números e hífens, começar e terminar com uma letra minúscula ou um número e não pode ser alterado após a criação do perfil de ambiente de execução.
Versão do ambiente de execução do Spark: obrigatória. Selecione uma versão do ambiente de execução do Serviço Gerenciado para Apache Spark compatível.
Imagem personalizada do Spark: opcional. Insira o URI do Artifact Registry ou do Container Registry de uma imagem do contêiner personalizada que inclua dependências personalizadas de Java ou Python.
Bucket de preparo: opcional. Clique em Procurar para selecionar ou criar um bucket de preparo do Cloud Storage para armazenar dependências de carga de trabalho, saída do driver de job e arquivos de configuração. Se deixado em branco, o Serviço Gerenciado para Apache Spark gerencia automaticamente o bucket de preparo (indicado por
Autono resumo).Repositório de pacotes Python: opcional. Insira o URI de um repositório personalizado, como
https://pypi.org/simple, para instalar pacotes do Python. Se ficar em branco, os pacotes serão instalados do cache de pull-through do PyPI gerenciado pelo Google (o resumo padrão).
Configuração do executor e do driver: personalize o nível de computação, o nível de disco, o tamanho do disco e a configuração do driver separado:
Nível: selecione Premium, que inclui a caixa de seleção opcional Ativar o Lightning Engine para acelerar o desempenho, ou Standard.
Tipo de executor: selecione um formato de máquina Geral
High memoryouStandardou um formato de máquina AceleradoL4ouA100.Nível do disco: selecione
HDD (standard)ouSSD (premium).HDD (standard)é o padrão para formas de CPU e é obrigatório no nível Standard. OSSD (premium)está disponível no nível Premium para cargas de trabalho com muita redistribuição ou transbordamento e é obrigatório para formatos de GPU acelerados.Tamanho do disco: selecione um tamanho de disco em GiB.
HDD (standard)é compatível com200 GiBa1500 GiBem incrementos de 100 GiB, com um padrão de200 GiB.SSD (premium)é compatível com375 GiB,750 GiBou1500 GiB, com um padrão de375 GiB.Usar uma configuração diferente para o driver: opcional. Por padrão, o driver usa o mesmo formato de máquina e configuração de disco que o executor. Marque esta caixa de seleção para personalizar o tipo de máquina do driver, o nível do disco do driver e o tamanho do disco do driver de forma independente.
Escalonamento automático: configure a alocação dinâmica de recursos para escalonar os executores com base na demanda da carga de trabalho:
Ativado: selecionado por padrão, o que define
spark.dynamicAllocation.enabled. Desmarque essa caixa de seleção para desativar o escalonamento automático.Executores iniciais: insira o número inicial de executores, que define
spark.dynamicAllocation.initialExecutors. O padrão é5. Os valores válidos variam de2a2000para as versões de ambiente de execução2.3e anteriores ou de0a2000para as versões de ambiente de execução3.0e posteriores.Mínimo de executores: insira o número mínimo de executores, que define
spark.dynamicAllocation.minExecutors. O padrão é2para as versões de ambiente de execução2.3e anteriores ou0para a versão de ambiente de execução3.0e mais recentes, com um limite superior de2000.Máximo de executores: insira o número máximo de executores, que define
spark.dynamicAllocation.maxExecutors. O padrão é1000, com um limite máximo permitido de2000.
Configuração do metastore: selecione o metastore que gerencia os metadados do conjunto de dados:
Catálogo do ambiente de execução do Lakehouse: padrão. Usa um catálogo do ambiente de execução do Lakehouse sem servidor no projeto atual, com o endpoint REST do Iceberg ativado por padrão. É possível especificar o ID do projeto e escolher um ID do catálogo atual ou definir um novo catálogo. Também é possível marcar a caixa de seleção Endpoint do Hive para especificar um ID do projeto, um ID do catálogo e um Nome do catálogo do endpoint do Hive.
Dataproc Metastore: anexa uma instância gerenciada do Hive Metastore (HMS) do Dataproc Metastore. Selecione o projeto em Projeto selecionado e escolha uma instância de serviço na lista Serviço do metastore.
Nenhum: desativa a integração do metastore para sessões que usam esse perfil de ambiente de execução.
Rede e segurança: configure a rede VPC, as credenciais de execução e as chaves de criptografia:
Conecte o cluster: em configuração de rede, o console do Google Cloud seleciona automaticamente uma rede ou sub-rede qualificada na região escolhida. Se a região escolhida não tiver uma rede padrão disponível, a opção Configuração adicional será aberta automaticamente e exibirá um aviso de que a rede padrão não está disponível. Nessa situação, o botão Criar permanece desativado até que você clique em Configurar rede e selecione uma sub-rede disponível. Selecione Redes neste projeto para escolher uma Rede principal e uma Sub-rede no projeto atual ou selecione Redes compartilhadas do projeto host para escolher uma sub-rede de VPC compartilhada. A sub-rede selecionada precisa ter o Acesso privado do Google (PGA) ativado. Para requisitos de conectividade de rede, consulte Conectividade de sub-rede aberta. Também é possível inserir tags de rede opcionais para aplicar regras e rotas de firewall a VMs de carga de trabalho.
Executar notebooks com: selecione Conta de usuário, que é o padrão, para executar notebooks usando credenciais de usuário final ou selecione Conta de serviço para executar sessões com uma conta de serviço personalizada. Quando a opção Conta de serviço está selecionada, é obrigatório especificar uma conta de serviço no campo Conta de serviço.
Criptografia: selecione Google-owned and Google-managed encryption key, que é o padrão, ou selecione Chave do Cloud KMS para criptografar dados de carga de trabalho usando uma chave de criptografia gerenciada pelo cliente (CMEK).
Ciclo de vida da sessão: configure limites de encerramento automático de sessões:
Tempo máximo de inatividade: opcional. Insira uma Quantidade máxima de tempo de inatividade e selecione uma Unidade máxima de tempo de inatividade em
seconds,minutes,hoursoudays, de 10 minutos a 330 horas, para especificar por quanto tempo uma sessão de notebook pode permanecer inativa antes de ser encerrada automaticamente.Tempo máximo da sessão: opcional. Insira uma Quantidade de tempo máximo da sessão e selecione uma Unidade de tempo máximo da sessão em
seconds,minutes,hoursoudays, de 10 minutos a 330 horas, para especificar o ciclo de vida máximo de uma sessão.
Outras personalizações: adicione propriedades personalizadas do Spark e rótulos de recursos:
Propriedades do Spark: opcional. Clique em Adicionar propriedade e insira os pares de Chave e Valor para as propriedades personalizadas do Spark. As propriedades controladas por campos dedicados no formulário (como nível de computação, dimensionamento de executor e driver, Lightning Engine,
spark.dynamicAllocation.*e propriedades do catálogo do Lakehouse) são gerenciadas por esses campos e ficam ocultas na lista de formato livre. No console do Google Cloud , não inclua o prefixospark:.Rótulos: opcional. Clique em Adicionar rótulo e insira os pares de Chave e Valor para anexar rótulos ao perfil de ambiente de execução.
Revise os detalhes de configuração no card Resumo e o uso estimado da unidade de computação de dados (DCU) no card Estimativa de preço no lado direito da página. Para mais informações sobre as cobranças de DCU, consulte Preços do Serviço Gerenciado para Apache Spark.
Clique em Criar.
gcloud
Na CLI gcloud, os perfis de ambiente de execução são gerenciados como modelos de sessão.
Não é possível criar diretamente um perfil de ambiente de execução do Serviço Gerenciado para Apache Spark usando um comando create na CLI gcloud, mas é possível usar o comando gcloud beta dataproc session-templates import para criar ou atualizar um perfil de ambiente de execução de um arquivo de configuração YAML.
Também é possível exportar um perfil de ambiente de execução usando o comando gcloud beta dataproc session-templates export.
REST
Na API Serviço Gerenciado para Apache Spark, os perfis de ambiente de execução são representados por recursos SessionTemplate. Use o método de API sessionTemplates.create do Serviço Gerenciado para Apache Spark para criar um perfil de ambiente de execução do serviço. Configure
os seguintes campos de solicitação:
name: obrigatório. O nome do recurso do perfil de ambiente de execução.version: opcional. Qualquer uma das versões do ambiente de execução do Spark compatíveis com suas sessões. Se você não especificar uma versão, a versão padrão será usada.sessionConfig: especifiquejupyterSessionousparkConnectSession. Se você especificarjupyterSession, especifique também os camposJupyterConfig.displayNameeJupyterConfig.kernel. Para mais informações sobre as sessões de notebook do Jupyter, consulte Iniciar um notebook do Jupyter no Serviço Gerenciado para Apache Spark.containerImage: opcional. Uma imagem do contêiner personalizada para usar nas sessões.properties: opcional. Um mapeamento de nomes de propriedades do Spark para valores, incluindo propriedades de nível, mecanismo, formato de máquina, disco e escalonamento automático. Para mais informações sobre as propriedades compatíveis, consulte Propriedades do Spark.serviceAccount: opcional. Uma conta de serviço para executar as sessões. Se não for especificada, a conta de serviço padrão do Compute Engine será usada.subnetworkUri: opcional. O nome de uma sub-rede na região da sessão. Se não for especificada, o Serviço Gerenciado para Apache Spark usará a sub-rededefaultna região da sessão. O Serviço Gerenciado para Apache Spark ativa o Acesso Privado do Google (PGA) na sub-rede. Para requisitos de conectividade de rede, consulte Configuração de rede do Serviço Gerenciado para Apache Spark.