Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Configure a computação sem servidor ou clássica para as tarefas em um Lakeflow Job e escolha o tipo certo para cada tarefa.
Importante
As limitações da computação sem servidor para trabalhos incluem o seguinte:
- O agendamento Contínuo é compatível apenas com gatilhos limitados de Streaming estruturado, como
Trigger.AvailableNow. Veja Execução contínua de trabalhos. - Não há suporte para gatilhos de intervalo padrão ou baseados em tempo no Streaming estruturado.
Para ver mais limitações, confira Limitações da computação sem servidor.
Cada trabalho pode ter uma ou mais tarefas. Você define recursos de computação para cada tarefa. Várias tarefas definidas para o mesmo trabalho podem usar o mesmo recurso de computação.
Computação recomendada para cada tarefa
A tabela a seguir indica os tipos de computação recomendados e com suporte para cada tipo de tarefa.
Observação
A computação sem servidor para trabalhos tem limitações e não dá suporte a todas as cargas de trabalho. Confira Limitações de computação sem servidor.
| Tarefa | Computação recomendada | Computação com suporte |
|---|---|---|
| Notebooks | Trabalhos sem servidor | Trabalhos sem servidor, trabalhos clássicos, clássicos para todas as finalidades |
| Script Python | Trabalhos sem servidor | Trabalhos sem servidor, trabalhos clássicos, clássicos para todas as finalidades |
| Roda Python | Trabalhos sem servidor | Trabalhos sem servidor, trabalhos clássicos, clássicos para todas as finalidades |
| SQL | SQL warehouse sem servidor | SQL warehouse sem servidor, SQL warehouse profissional |
| Pipelines do Lakeflow | Pipeline sem servidor | Pipeline sem servidor, pipeline clássico |
| dbt | SQL warehouse sem servidor | SQL warehouse sem servidor, SQL warehouse profissional |
| Comandos de CLI do dbt | Trabalhos sem servidor | Trabalhos sem servidor, trabalhos clássicos, clássicos para todas as finalidades |
| JAR | Trabalhos clássicos | Trabalhos clássicos, clássicos para todas as finalidades |
| Envio do Spark | Trabalhos clássicos | Trabalhos clássicos |
Os preços dos trabalhos do Lakeflow estão vinculados à computação utilizada na execução de tarefas. Para mais detalhes, confira Preços do Databricks.
Configurar computação para tarefas
A computação de trabalhos clássicos é configurada diretamente da interface do usuário do Lakeflow Jobs e essas configurações fazem parte da definição do trabalho. Todos os outros tipos de computação disponíveis armazenam suas configurações com outros ativos de workspace. A tabela a seguir apresenta mais detalhes:
| Tipo de computação | Detalhes |
|---|---|
| Computação de tarefas clássicas | Você configura a computação para trabalhos clássicos usando a mesma interface do usuário e as configurações disponíveis para computação de uso geral. Consulte Referência de configuração de computação. |
| Computação sem servidor para trabalhos | A computação sem servidor para trabalhos é o padrão para todas as tarefas que dão suporte a ela. O Databricks gerencia as configurações de computação para computação sem servidor. Consulte Executar seus Trabalhos do Lakeflow com computação sem servidor para fluxos de trabalho. |
| Armazenamentos SQL | Os SQL warehouses sem servidor e profissional são configurados por administradores de workspace ou usuários com privilégios irrestritos de criação de cluster. Você configura tarefas para execução em SQL warehouses existentes. Confira Conectar-se a um armazém de dados SQL. |
| Computação de pipelines do Lakeflow | Você define as configurações de computação para pipelines do Lakeflow durante a configuração do pipeline. Consulte Configurar computação clássica para pipelines. O Azure Databricks gerencia recursos de computação para pipelines serverless do Lakeflow. Consulte Configurar um pipeline sem servidor. |
| Computação para todas as finalidades | Opcionalmente, você pode configurar tarefas usando a computação clássica para todas as finalidades. O Databricks não recomenda essa configuração para trabalhos de produção. Consulte Referência de configuração de computação e Exceções limitadas. |
Compartilhar computação entre tarefas
Configure tarefas para usar os mesmos recursos de computação de trabalhos para otimizar o uso de recursos em trabalhos que orquestram várias tarefas. O compartilhamento de computação entre tarefas pode reduzir a latência associada aos tempos de inicialização.
Você pode usar um único recurso de computação de trabalhos para executar todas as tarefas que façam parte do trabalho ou vários recursos de trabalho otimizados para cargas de trabalho específicas. Qualquer computação de trabalhos configurada como parte de um trabalho está disponível para todas as outras tarefas no trabalho.
A tabela a seguir destaca as diferenças entre a computação de trabalho configurada para uma única tarefa e a computação de trabalho compartilhada entre tarefas:
| Tarefa única | Compartilhado entre tarefas | |
|---|---|---|
| Iniciar | Quando a execução da tarefa começa. | Quando a primeira execução de tarefa configurada para usar o recurso de computação começa. |
| Encerrar | Após a execução da tarefa. | Após a execução da última tarefa configurada para usar o recurso de computação. |
| Computação ociosa | Não aplicável. | A computação permanece ativada e ociosa enquanto as tarefas que não usam o recurso de computação são executadas. |
Um cluster de trabalho compartilhado 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ê precisa adicionar bibliotecas dependentes usando as configurações da tarefa.
Estado do driver compartilhado entre tarefas
Quando várias tarefas compartilham um recurso de computação de trabalhos, as tarefas são executadas na mesma JVM do driver. O estado da classe e os singletons persistem entre as tarefas durante a execução do trabalho. Para a maioria das cargas de trabalho, isso é transparente, mas esteja ciente das seguintes implicações:
- Singletons do Scala e objetos companheiros são compartilhados em tarefas. O estado mutável em um objeto complementar Scala persiste entre as tarefas executadas no mesmo cluster compartilhado. Se as tarefas paralelas forem lidas ou gravadas na mesma variável de objeto complementar, o valor de uma tarefa poderá substituir o de outra. Para obter um exemplo funcional, consulte o artigo da Base de Conhecimento Workflows de várias tarefas usando valores incorretos de parâmetro.
- As bibliotecas carregadas por uma tarefa permanecem disponíveis para tarefas subsequentes durante a execução do trabalho.
Se o código exigir isolamento no nível da tarefa, use uma das seguintes abordagens:
- Configure cada tarefa para usar um recurso de computação de trabalhos separados.
- Adicione dependências de tarefa explícitas para que as tarefas sejam executadas sequencialmente em vez de paralelamente.
- Refatore o código para evitar depender de singleton ou estado mutável compartilhado. Por exemplo, passe parâmetros explicitamente para cada função em vez de lê-los de um objeto complementar.
Revisar, configurar e alternar tarefas de computação
A seção Computação no painel Detalhes do Trabalho lista toda a computação configurada para tarefas no trabalho atual.
As tarefas configuradas para usar um recurso de computação são realçadas no gráfico de tarefas quando você passa o mouse sobre a especificação de computação.
Use o botão Trocar para alterar a computação de todas as tarefas associadas a um recurso de computação.
Os recursos de computação de trabalhos clássicos têm uma opção Configurar. Outros recursos de computação oferecem opções para exibir e modificar detalhes de configuração de computação.
Recursos adicionais
Para obter detalhes adicionais sobre como configurar trabalhos clássicos do Azure Databricks, consulte Configurar a computação clássica para os trabalhos do Lakeflow.