Usar a computação do Azure Databricks com seus trabalhos

Quando você executa um trabalho do Azure Databricks, as tarefas configuradas como parte do trabalho são executadas no Azure Databricks computam, seja computação sem servidor, um cluster ou um SQL warehouse, dependendo do tipo de tarefa. Selecionar o tipo de computação e as opções de configuração é importante ao operacionalizar um trabalho. Este artigo fornece recomendações para usar os recursos de computação do Azure Databricks para executar seus trabalhos.

Para saber mais sobre como usar a computação sem servidor com seus trabalhos do Azure Databricks, consulte Executar seu trabalho do Azure Databricks com computação sem servidor para fluxos de trabalho.

Nota

Os segredos não são editados do log stdoutstderr e dos fluxos do driver Spark de um cluster. Para proteger dados confidenciais, por padrão, os logs de driver do Spark são visíveis apenas por usuários com permissão CAN MANAGE no trabalho, modo de acesso de usuário único e clusters de modo de acesso compartilhado. 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.

Em clusters do modo de acesso compartilhado Sem Isolamento, os logs do driver do Spark podem ser visualizados por usuários com permissão 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.

Usar clusters de trabalho compartilhados

Para otimizar o uso de recursos com trabalhos que orquestram várias tarefas, use clusters de tarefas compartilhadas. Um cluster de tarefas compartilhadas permite que várias tarefas na mesma execução de trabalho reutilizem o cluster. Você pode usar um único cluster de trabalho para executar todas as tarefas que fazem parte do trabalho ou vários clusters de trabalho otimizados para cargas de trabalho específicas. Para usar um cluster de tarefas compartilhado:

  1. Selecione Novos Clusters de Trabalho ao criar uma tarefa e concluir a configuração do cluster.
  2. Selecione o novo cluster ao adicionar uma tarefa ao trabalho ou crie um novo cluster de trabalho. Qualquer cluster configurado quando você seleciona Novos Clusters de Trabalho está disponível para qualquer tarefa no trabalho.

Um cluster de tarefas compartilhadas tem como escopo uma única execução de trabalho e não pode ser usado por outros trabalhos ou execuções do mesmo trabalho.

As bibliotecas não podem ser declaradas em uma configuração de cluster de trabalho compartilhado. Você deve adicionar bibliotecas dependentes nas configurações de tarefas.

Escolha o tipo de cluster correto para o seu trabalho

  • Novos Clusters de Trabalho são clusters dedicados para uma tarefa ou tarefa executada. Um cluster de trabalho compartilhado é criado e iniciado quando a primeira tarefa usando o cluster é iniciada e encerrada após a conclusão da última tarefa usando o cluster. O cluster não é encerrado quando ocioso, mas somente depois que todas as tarefas são concluídas. Se um cluster de tarefas compartilhadas falhar ou for encerrado antes que todas as tarefas sejam concluídas, um novo cluster será criado. Um cluster com escopo para uma única tarefa é criado e iniciado quando a tarefa é iniciada e terminada quando a tarefa é concluída. Na produção, o Databricks recomenda o uso de novos clusters compartilhados ou com escopo de tarefa para que cada tarefa seja executada em um ambiente totalmente isolado.
  • Quando você executa uma tarefa em um novo cluster, a tarefa é tratada como uma carga de trabalho de engenharia de dados (tarefa), sujeita ao preço da carga de trabalho da tarefa. Quando você executa uma tarefa em um cluster multiuso existente, a tarefa é tratada como uma carga de trabalho de análise de dados (multiuso), sujeita a preços de carga de trabalho para todos os fins.
  • Se você selecionar um cluster existente encerrado e o proprietário do trabalho tiver a permissão CAN RESTART, o Azure Databricks iniciará o cluster quando o trabalho estiver agendado para ser executado.
  • Os clusters polivalentes existentes funcionam melhor para tarefas como a atualização de painéis em intervalos regulares.

Usar um pool para reduzir os tempos de início do cluster

Para diminuir a hora de início do novo cluster de trabalho, crie um pool e configure o cluster do trabalho para usá-lo.