Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como gerenciar a computação do Azure Databricks, incluindo exibir, editar, iniciar, encerrar, excluir, controlar o acesso e monitorar o desempenho e os logs. Você também pode usar a API de Clusters para gerenciar a computação programaticamente.
Ver computação
Para exibir sua computação, clique em Computação na barra lateral do espaço de trabalho.
No lado esquerdo há duas colunas indicando se o cálculo foi fixado e o status do cálculo. Passe o cursor sobre o status para obter mais informações.
Exibir configuração de computação como um arquivo JSON
Às vezes, pode ser útil visualizar sua configuração de computação como JSON. Isso é especialmente útil quando você deseja criar computação semelhante usando a API de Clusters. Quando visualizar uma computação existente, vá para a guia Configuração , clique em JSON no canto superior direito da guia, copie o JSON e cole-o em sua chamada de API. O modo de exibição JSON é somente leitura.
Fixar um cálculo
30 dias após o término de uma computação, ela é excluída permanentemente. Para manter uma configuração de computação de uso geral depois que uma instância de computação tiver sido encerrada por mais de 30 dias, um administrador pode fixar a instância de computação. Até 100 recursos de computação podem ser fixados.
Os administradores podem fixar um recurso de computação na lista de recursos de computação ou na página de detalhes do recurso clicando no ícone de fixação.
Editar um cálculo
Pode editar a configuração de uma instância de computação a partir da interface de detalhes do compute.
Nota
- Os blocos de anotações e trabalhos que foram anexados à computação permanecem anexados após a edição.
- As bibliotecas instaladas na computação permanecem instaladas após a edição.
- Se você editar qualquer atributo de uma computação em execução (exceto o tamanho e as permissões da computação), deverá reiniciá-la. Isso pode interromper os usuários que estão usando a computação no momento.
- Você só pode editar uma computação em execução ou encerrada. No entanto, você pode atualizar permissões para computações que não estão nesses estados na página de detalhes da computação.
Clone uma instância de computação
Para clonar uma computação existente, selecione Clonar no da computação.
Depois de selecionar 'Clonar' em
- Permissões de computação
- Cadernos anexados
Se não quiser incluir as bibliotecas instaladas anteriormente na computação clonada, clique no menu suspenso ao lado do botão Criar computação e selecione Criar sem bibliotecas.
Permissões de computação
Há quatro níveis de permissão para um computador: SEM PERMISSÕES, PODE LIGAR-SE A, PODE REINICIAR e PODE GERIR. Para obter detalhes, consulte ACLs de Computação.
Nota
Os segredos não são removidos do log e dos fluxos do driver Spark de um cluster. Para proteger dados confidenciais, por padrão, os registos do controlador do Spark podem ser visualizados apenas por utilizadores com permissão CAN MANAGE no trabalho em questão, em clusters de modo de acesso dedicado e em clusters de modo de acesso padrão. Para permitir que os usuários com permissão CAN ATTACH TO ou CAN RESTART visualizem os logs nesses clusters, defina a seguinte propriedade de configuração do Spark na configuração do cluster: spark.databricks.acl.needAdminPermissionToViewLogs false
.
Nos clusters em modo de acesso partilhado sem isolamento, os registos do controlador do Spark podem ser visualizados por utilizadores com permissões 'CAN ATTACH TO' ou 'CAN MANAGE'. Para limitar quem pode ler os logs apenas aos usuários com a permissão CAN MANAGE, defina spark.databricks.acl.needAdminPermissionToViewLogs
como true
.
Consulte Configuração do Spark para saber como adicionar propriedades do Spark a uma configuração de cluster.
Configurar permissões de computação
Esta seção descreve como gerenciar permissões usando a interface do usuário do espaço de trabalho. Você também pode usar a API de Permissões ou o provedor Databricks Terraform.
Você deve ter a permissão CAN MANAGE em uma computação para configurar permissões de computação.
- Na barra lateral, clique em Computar.
- Na linha para o cálculo, clique no menu kebab
à direita e selecione Editar permissões.
- Em Configurações de Permissão, clique no menu suspenso Selecionar usuário, grupo ou entidade de serviço... e selecione um usuário, grupo ou entidade de serviço.
- Selecione uma permissão no menu pendente de permissões.
- Clique em Adicionar e clique em Salvar.
Encerrar uma computação
Para salvar recursos de computação, você pode encerrar uma computação. A configuração da computação encerrada é armazenada para que possa ser reutilizada (ou, no caso de trabalhos, iniciada automaticamente) posteriormente. Você pode encerrar manualmente uma computação ou configurá-la para encerrar automaticamente após um período especificado de inatividade.
A menos que uma computação seja fixada ou reiniciada, ela é excluída automática e permanentemente 30 dias após o encerramento.
A computação terminada aparece na lista de computação com um círculo cinza à esquerda do nome da computação.
Nota
Quando você executa um trabalho em um novo cálculo de trabalho (que geralmente é recomendado), o cálculo termina e não está disponível para reinicialização quando o trabalho é concluído. Por outro lado, se você agendar um trabalho para ser executado em uma computação para todos os fins existente que tenha sido encerrada, essa computação será iniciada automaticamente.
Importante
Se você estiver usando um espaço de trabalho Trial Premium, todos os recursos de computação em execução serão encerrados:
- Quando você atualiza um espaço de trabalho para Premium completo.
- Se o espaço de trabalho não for atualizado e o período de avaliação expirar, poderá ocorrer a perda de funcionalidade.
Rescisão manual
Você pode encerrar manualmente uma computação na lista de computação (clicando no quadrado na linha da computação) ou na página de detalhes da computação (clicando em Encerrar).
Cessação automática
Você também pode definir a terminação automática para um cálculo. Durante a criação da computação, você pode especificar um período de inatividade em minutos após o qual deseja que a computação seja encerrada.
Se a diferença entre a hora atual e o último comando executado na computação for maior do que o período de inatividade especificado, o Azure Databricks encerrará automaticamente essa computação.
Uma computação é considerada inativa quando todos os comandos na computação, incluindo trabalhos do Spark, Streaming Estruturado, chamadas JDBC e atividade do terminal Web do Azure Databricks terminaram de ser executados.
Aviso
- Os cálculos não relatam a atividade resultante do uso do DStreams. Isso significa que uma computação de terminação automática pode ser encerrada enquanto estiver executando o DStreams. Desative a terminação automática para execuções de computação com DStreams ou considere usar Streaming Estruturado.
- Os recursos computacionais ociosos continuam a acumular custos de DBU e de instâncias na nuvem durante o período de inatividade antes do encerramento.
Configurar terminação automática
Você pode configurar o encerramento automático na nova interface do usuário de computação. Verifique se a caixa está marcada e insira o número de minutos na configuração Encerrar após ___ de minutos de inatividade .
Você pode desativar a rescisão automática desmarcando a caixa de seleção Rescisão automática ou especificando um período de inatividade de 0
.
Nota
A terminação automática é melhor suportada nas versões mais recentes do Spark. As versões mais antigas do Spark têm limitações conhecidas que podem resultar em relatórios imprecisos da atividade de computação. Por exemplo, a computação executando comandos JDBC, R ou streaming pode relatar um tempo de atividade obsoleto que leva ao encerramento prematuro da computação. Atualize para a versão mais recente do Spark para se beneficiar de correções de bugs e melhorias no encerramento automático.
Rescisão inesperada
Às vezes, uma computação é encerrada inesperadamente, não como resultado de uma terminação manual ou de uma terminação automática configurada.
Para obter uma lista de motivos de rescisão e etapas de correção, consulte a Base de Conhecimento.
Excluir um recurso de computação
A exclusão de um cálculo encerra o cálculo e remove sua configuração. Para excluir um computador, selecione Excluir no do computador.
Aviso
Não é possível desfazer essa ação.
Para excluir uma computação anexada, ela deve primeiro ser desanexada por um administrador.
Você também pode invocar o ponto de extremidade da API de Clusters para excluir uma computação programaticamente.
Reiniciar uma computação
Você pode reiniciar uma computação encerrada anteriormente na lista de computação, na página de detalhes da computação ou em um bloco de anotações. Você também pode invocar o endpoint da API de Clusters para iniciar um processo de computação programaticamente.
O Azure Databricks identifica uma computação usando sua ID de cluster exclusiva. Quando se inicia uma computação encerrada, o Databricks recria a computação com o mesmo ID, instala automaticamente todas as bibliotecas e reconecta os notebooks.
Nota
Se estiveres a usar um Trial workspace e o período de avaliação tiver expirado, não conseguirás iniciar um processo de computação.
Reinicie um computador para atualizá-lo com as imagens mais recentes
Quando você reinicia uma computação, ela obtém as imagens mais recentes para os contêineres de recursos de computação e os hosts da VM. É importante agendar reinicializações regulares para computação de longa duração, como as usadas para processar dados de streaming.
É sua responsabilidade reiniciar todos os recursos de computação regularmente para manter a imagem atualizada com a versão mais recente da imagem.
Importante
Se você habilitar o perfil de segurança de conformidade para sua conta ou seu espaço de trabalho, a computação de longa execução será reiniciada automaticamente, conforme necessário, durante uma janela de manutenção agendada. Isso reduz o risco de uma reinicialização automática interromper um trabalho agendado. Você também pode forçar uma reinicialização durante a janela de manutenção. Consulte Atualização automática de cluster.
Exemplo de bloco de notas: Encontrar computação de longa duração
Se você for um administrador de espaço de trabalho, poderá executar um script que determine por quanto tempo cada computação está em execução e, opcionalmente, reiniciá-los se forem mais antigos do que um número especificado de dias. O Azure Databricks fornece esse script como um bloco de anotações.
As primeiras linhas do script definem parâmetros de configuração:
-
min_age_output
: O número máximo de dias que uma computação pode ser executada. A predefinição é 1. -
perform_restart
: SeTrue
, o script reinicia qualquer computação com idade maior do que o número de dias especificado pelomin_age_output
. O padrão éFalse
, que identifica a computação de longa execução, mas não a reinicia. -
secret_configuration
: SubstituaREPLACE_WITH_SCOPE
eREPLACE_WITH_KEY
por um escopo secreto e nome da chave. Para obter mais detalhes sobre como configurar os segredos, consulte o bloco de anotações.
Aviso
Se definir perform_restart
como True
, o script reinicia automaticamente a computação elegível, o que pode fazer com que os trabalhos ativos falhem e redefina os cadernos em aberto. Para reduzir o risco de interromper os trabalhos críticos para os negócios do seu espaço de trabalho, planeje uma janela de manutenção agendada e certifique-se de notificar os usuários do espaço de trabalho.
Identificar e, opcionalmente, reiniciar processos de computação de longa duração
Início automático de computação para trabalhos e consultas JDBC/ODBC
Quando um trabalho atribuído a uma computação encerrada está agendado para ser executado ou você se conecta a uma computação encerrada a partir de uma interface JDBC/ODBC, a computação é reiniciada automaticamente. Consulte Configurar computação para trabalhos e conexão JDBC.
O início automático de computação permite configurar a computação para encerrar automaticamente sem exigir intervenção manual para reiniciar a computação para trabalhos agendados. Além disso, você pode agendar a inicialização da computação agendando um trabalho para ser executado em uma computação encerrada.
Antes de uma computação ser reiniciada automaticamente, as permissões de controle de acesso à computação e ao trabalho são verificadas.
Nota
Se sua computação foi criada na plataforma Azure Databricks versão 2.70 ou anterior, não há início automático: os trabalhos agendados para execução em computação encerrada falharão.
Exibir informações de computação na interface do usuário do Apache Spark
Pode ver informações detalhadas sobre os trabalhos do Spark na página de detalhes de computação selecionando a guia Spark UI.
Se você reiniciar uma computação encerrada, a interface do usuário do Spark exibirá informações para a computação reiniciada, não as informações históricas para a computação encerrada.
Consulte Diagnosticar problemas de custo e desempenho usando a interface do usuário do Spark para diagnosticar problemas de custo e desempenho usando a interface do usuário do Spark.
Exibir logs de computação
O Azure Databricks fornece três tipos de registro em log de atividades relacionadas à computação:
- Registos de eventos de computação, que capturam os eventos do ciclo de vida da computação, como criação, término e edições de configuração.
- Registo do driver e do trabalhador do Apache Spark, que pode utilizar para depuração.
- Registar logs de scripts de inicialização, que são valiosos para depurar scripts de inicialização.
Esta seção discute logs de eventos de computação e logs de controladores e de processos. Para obter detalhes sobre os logs de script de inicialização, consulte Registo de logs de scripts de inicialização.
Processar registos de eventos
O log de eventos de computação exibe eventos importantes do ciclo de vida da computação que são acionados manualmente por ações do usuário ou automaticamente pelo Azure Databricks. Tais eventos afetam a operação de uma computação como um todo e os trabalhos em execução na computação.
Para tipos de eventos suportados, consulte a estrutura de dados da API de Clusters.
Os eventos são armazenados por 60 dias, o que é comparável a outros tempos de retenção de dados no Azure Databricks.
Exibir o log de eventos de uma computação
Para exibir o log de eventos da computação, selecione a guia Log de eventos nas páginas de detalhes da computação.
Para obter mais informações sobre um evento, clique em sua linha no log e, em seguida, clique na guia JSON para obter detalhes.
Gerar logs de controlador e de trabalhador
As declarações de impressão direta e registo dos blocos de notas, dos trabalhos e das bibliotecas são enviadas diretamente para os registos do controlador do Spark. Você pode aceder a esses ficheiros de log no separador Driver logs na página de detalhes da computação. Clique no nome de um arquivo de log para baixá-lo.
Estes registos têm três saídas:
- Saída padrão
- Erro padrão
- Registos do Log4j
Para visualizar os logs dos trabalhadores do Spark, use o separador Spark UI. Você também pode configurar um local de entrega de logs para a computação. Os logs de trabalho e de computação são entregues no local que você especificar.
Monitore o desempenho
Para ajudá-lo a monitorar o desempenho da computação do Azure Databricks, o Azure Databricks fornece acesso a métricas da página de detalhes da computação. Para a Databricks Runtime 12.2 e inferior, a Azure Databricks fornece acesso às métricas do Ganglia. Para o Databricks Runtime 13.3 LTS e superior, as métricas de computação são fornecidas pelo Azure Databricks.
Além disso, você pode configurar uma computação do Azure Databricks para enviar métricas para um espaço de trabalho do Log Analytics no Azure Monitor, a plataforma de monitoramento do Azure.
Você também pode instalar agentes Datadog em nós de computação para enviar métricas Datadog para sua conta Datadog.
Métricas de computação
As métricas de computação são a ferramenta de monitoramento padrão para computação polivalente e de trabalhos sem servidor. Para aceder à IU de métricas de computação, navegue até ao separador Métricas na página de detalhes de computação.
Você pode visualizar métricas históricas selecionando um intervalo de tempo usando o filtro do seletor de datas. As métricas são coletadas a cada minuto. Você também pode obter as métricas mais recentes clicando no botão Atualizar. Para obter mais informações, consulte Exibir métricas de computação.
Métricas do Ganglia
Nota
As métricas do Ganglia estão disponíveis apenas para o Databricks Runtime 12.2 ou anteriores.
Para aceder à interface do Ganglia, navegue até à guia Métricas na página de detalhes de computação e habilite as Métricas herdadas. As métricas de GPU estão disponíveis para computação com suporte para GPU.
Para visualizar métricas ao vivo, clique no link Ganglia UI .
Para visualizar métricas históricas, clique em um arquivo de instantâneo. O instantâneo contém métricas agregadas referentes à hora anterior à hora selecionada.
Nota
O Ganglia não é suportado com contêineres do Docker. Se você usar um contêiner do Docker com sua computação, as métricas do Ganglia não estarão disponíveis.
Configurar a coleção de métricas do Ganglia
Por predefinição, o Azure Databricks recolhe as métricas do Ganglia a cada 15 minutos. Para configurar o período de recolha, defina a variável de ambiente
Azure Monitor
Você pode configurar uma computação do Azure Databricks para enviar métricas para um espaço de trabalho do Log Analytics no Azure Monitor, a plataforma de monitoramento do Azure.
Nota
Se você implantou o espaço de trabalho do Azure Databricks em sua própria rede virtual e configurou grupos de segurança de rede (NSG) para negar todo o tráfego de saída que não é exigido pelo Azure Databricks, deverá configurar uma regra de saída adicional para a marca de serviço "AzureMonitor".
Exemplo de bloco de anotações: métricas Datadog
Você pode instalar agentes Datadog em nós de computação para enviar métricas Datadog para sua conta Datadog. O caderno a seguir demonstra como instalar um agente Datadog em uma unidade de computação usando um script init com escopo de computação.
Para instalar o agente Datadog em todos os recursos de computação, gerencie o script de inicialização com escopo de computação através de uma política de computação.
Instalar caderno do script de inicialização do agente Datadog
Descomissionar instâncias spot
Como as instâncias spot podem reduzir custos, a criação de computação usando instâncias spot em vez de instâncias sob demanda é uma maneira comum de executar trabalhos. No entanto, as instâncias spot podem ser interrompidas pelos mecanismos de agendamento do provedor de nuvem. A preempção de instâncias pontuais pode causar problemas com trabalhos em execução, incluindo:
- Falhas de busca aleatória
- Perda de dados por embaralhamento
- Perda de dados RDD
- Falhas em trabalhos
Você pode habilitar o descomissionamento para ajudar a resolver esses problemas. O descomissionamento aproveita a notificação que o provedor de nuvem geralmente envia antes que uma instância spot seja desativada. Quando uma instância spot contendo um executor recebe uma notificação de preempção, o processo de descomissionamento tentará migrar dados de shuffle e RDD para executores saudáveis. A duração antes da preempção final é normalmente de 30 segundos a 2 minutos, dependendo do provedor de nuvem.
O Databricks recomenda habilitar a migração de dados quando o descomissionamento também estiver habilitado. Geralmente, a possibilidade de erros diminui à medida que mais dados são migrados, incluindo falhas de busca aleatória, perda de dados aleatórios e perda de dados RDD. A migração de dados também pode levar a menos recomputação e economia de custos.
Nota
O descomissionamento é o melhor esforço e não garante que todos os dados possam ser migrados antes da preempção final. O descomissionamento não pode garantir contra falhas de busca de shuffle quando as tarefas em execução estão buscando dados de shuffle do executor.
Com o descomissionamento habilitado, as falhas de tarefas causadas pela preempção de instâncias pontuais não são adicionadas ao número total de tentativas com falha. As falhas de tarefa causadas por preempção não são contadas como tentativas falhadas porque a causa da falha é externa à tarefa e não resultará em falha de trabalho.
Habilitar o descomissionamento
Para habilitar o descomissionamento em um cómputo, insira as seguintes propriedades na guia Spark em Opções Avançadas na interface do utilizador de configuração de cómputo. Para obter informações sobre essas propriedades, consulte Configuração do Spark.
Para habilitar o descomissionamento de aplicativos, insira esta propriedade no campo Configuração do Spark:
spark.decommission.enabled true
Para habilitar a migração de dados em shuffle durante a desativação, insira esta propriedade no campo Configuração do Spark:
spark.storage.decommission.enabled true spark.storage.decommission.shuffleBlocks.enabled true
Para habilitar a migração de dados de cache RDD durante a desativação, insira esta propriedade no campo Configuração do Spark:
spark.storage.decommission.enabled true spark.storage.decommission.rddBlocks.enabled true
Nota
Quando a replicação RDD StorageLevel é definida como mais de 1, o Databricks não recomenda habilitar a migração de dados RDD, pois as réplicas garantem que os RDDs não perderão dados.
Para habilitar a desativação dos trabalhadores, insira esta propriedade no campo Variáveis de Ambiente:
SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
Ver o estado de desativação e o motivo da perda na UI
Para acessar o status de descomissionamento de um trabalhador a partir da interface do usuário, navegue até a guia Spark compute UI - Master .
Quando o descomissionamento terminar, você poderá visualizar o motivo da perda do executor na guia Executores da interface do usuário > do Spark na página de detalhes de computação.