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.
O Lakeflow Jobs é a automação de fluxo de trabalho do Azure Databricks, fornecendo orquestração para cargas de trabalho de processamento de dados para que você possa coordenar e executar várias tarefas como parte de um fluxo de trabalho maior. Você pode otimizar e agendar a execução de tarefas frequentes e repetíveis e gerenciar fluxos de trabalho complexos.
Este artigo apresenta conceitos e opções relacionados ao gerenciamento de cargas de trabalho de produção usando o Lakeflow Jobs.
O que são trabalhos?
No Databricks, uma tarefa é usada para agendar e orquestrar atividades no Databricks dentro de um fluxo de trabalho. Fluxos de trabalho comuns de processamento de dados incluem fluxos de trabalho ETL, notebooks em execução e fluxos de trabalho de ML (machine learning), bem como integração com sistemas externos como dbt e ADF (Azure Data Factory).
Os trabalhos consistem em uma ou mais tarefas e dão suporte à lógica de fluxo de controle personalizado, como ramificação (instruções if/else) ou loop (para cada instrução) usando uma interface do usuário de criação visual. As tarefas podem carregar ou transformar dados em um fluxo de trabalho ETL ou criar, treinar e implantar modelos de ML de forma controlada e repetível como parte de seus pipelines de aprendizado de máquina.
Exemplo: trabalho diário de processamento e validação de dados
O exemplo a seguir mostra um trabalho no Azure Databricks.
Este trabalho de exemplo tem as seguintes características:
- A primeira tarefa ingere dados de receita.
- A segunda tarefa é uma verificação if/else em busca de nulos.
- Caso contrário, uma tarefa de transformação será executada.
- Caso contrário, ele executa uma tarefa de notebook com uma validação da qualidade dos dados.
- Está programado para ser executado todos os dias às 11h29 da manhã.
Para obter uma rápida introdução à criação de seu próprio trabalho, consulte Criar seu primeiro fluxo de trabalho com o Lakeflow Jobs.
Casos de uso comuns
Desde princípios básicos de engenharia de dados até aprendizado de máquina avançado e integração direta de ferramentas, esses casos de uso comuns mostram a amplitude dos recursos que impulsionam a análise moderna, a automação de fluxo de trabalho e a escalabilidade da infraestrutura.
Conceitos de orquestração
Há três conceitos principais ao usar o Lakeflow Jobs para orquestração no Azure Databricks: trabalhos, tarefas e gatilhos.
Trabalho – Um trabalho é o principal recurso para coordenar, agendar e executar suas operações. Os trabalhos podem variar em complexidade de uma única tarefa executando um notebook do Azure Databricks para centenas de tarefas com lógica condicional e dependências. As tarefas de um processo são representadas visualmente por um Grafo Acíclico Dirigido (DAG). Você pode especificar propriedades para o trabalho, incluindo:
- Gatilho – Define quando executar a tarefa.
- Parâmetros – parâmetros de tempo de execução que são enviados automaticamente para tarefas dentro do trabalho.
- Notificações – emails ou webhooks a serem enviados quando um trabalho falha ou demora mais do que o esperado.
- Git – configurações de controle do código-fonte para as tarefas de trabalho.
Task – Uma tarefa é uma unidade específica de trabalho dentro de um trabalho. Cada tarefa pode executar uma variedade de operações, incluindo:
- Uma tarefa de notebook executa um notebook do Databricks. Especifique o caminho para o notebook e todos os parâmetros necessários.
- Uma tarefa de pipeline executa um pipeline. Você pode especificar pipelines declarativos do Lakeflow existentes, como uma exibição materializada ou uma tabela de streaming.
- Uma tarefa de script python executa um arquivo Python. Você fornece o caminho para o arquivo e todos os parâmetros necessários.
Há muitos tipos de tarefas. Para obter uma lista completa, consulte Tipos de tarefas. As tarefas podem ter dependências em outras tarefas e executar condicionalmente outras tarefas, permitindo que você crie fluxos de trabalho complexos com lógica condicional e dependências.
Gatilho – Um gatilho é um mecanismo que inicia uma tarefa com base em condições ou eventos específicos. Um gatilho pode ser baseado em tempo, como executar um trabalho em um horário agendado (por exemplo, sempre às 2 da manhã) ou baseado em eventos, como executar um trabalho quando novos dados chegam ao armazenamento em nuvem.
Monitoramento e observabilidade
Os trabalhos fornecem suporte interno para monitoramento e observabilidade. Os tópicos a seguir fornecem uma visão geral desse suporte. Para obter mais detalhes sobre trabalhos de monitoramento e orquestração, consulte Monitoramento e observabilidade para Trabalhos do Lakeflow.
Monitoramento e observabilidade de tarefas na IU – na IU do Azure Databricks, você pode exibir tarefas, incluindo detalhes como o proprietário da tarefa e o resultado da última execução, e filtrar por propriedades da tarefa. Você pode exibir um histórico de execuções de trabalho e obter informações detalhadas sobre cada tarefa no trabalho.
Status de execução de trabalho e métricas – O Databricks relata o sucesso da execução de trabalho, além de fornecer logs e métricas para cada tarefa de uma execução de trabalho, a fim de diagnosticar problemas e entender o desempenho.
Notificações e alertas – você pode configurar notificações para eventos de trabalho por email, Slack, webhooks personalizados e uma série de outras opções.
Consultas personalizadas por meio de tabelas do sistema – o Azure Databricks fornece tabelas de sistema que registram execuções de trabalho e tarefas em toda a conta. Você pode usar essas tabelas para consultar e analisar o desempenho e os custos do trabalho. Você pode criar painéis para visualizar tendências e métricas de trabalho, para ajudar a monitorar a integridade e o desempenho de seus fluxos de trabalho.
Limitações
As seguintes limitações existem:
- Um workspace é limitado a 2.000 execuções de tarefas simultâneas. Uma resposta
429 Too Many Requests
é retornada quando você solicita uma execução que não pode ser iniciada imediatamente. - O número de trabalhos que um workspace pode criar em uma hora é limitado a 10.000 (inclui “runs submit”). Esse limite também afeta os trabalhos criados pelos fluxos de trabalho da API REST e do notebook.
- Um workspace pode conter até 12.000 trabalhos salvos.
- Um trabalho pode conter até 1000 tarefas.
Posso gerenciar fluxos de trabalho programaticamente?
O Databricks tem ferramentas e APIs que permitem agendar e orquestrar seus fluxos de trabalho programaticamente, incluindo o seguinte:
- CLI do Databricks
- Pacotes de Ativos do Databricks
- Extensão do Databricks para Visual Studio Code
- SDKs do Databricks
- API REST de trabalhos
Para ver exemplos de como usar as ferramentas e as APIs para criar e gerenciar trabalhos, confira Automatizar a criação e o gerenciamento de trabalhos. Para obter documentação sobre todas as ferramentas de desenvolvedor disponíveis, consulte Ferramentas de desenvolvimento locais.
As ferramentas externas usam as ferramentas e as APIs do Databricks para agendar programaticamente fluxos de trabalho. Você pode agendar seus trabalhos usando ferramentas como o Azure Data Factory ou o Apache AirFlow.
Orquestração de fluxo de trabalho com o Apache AirFlow
Você pode usar o Apache Airflow para gerenciar e agendar fluxos de trabalho de dados. Com o Airflow, você define seu fluxo de trabalho em um arquivo Python, e o Airflow gerencia o agendamento e a execução do fluxo de trabalho. Consulte Orchestrate Lakeflow Jobs com o Apache Airflow.
Orquestração de fluxo de trabalho com o Azure Data Factory
O ADF (Azure Data Factory) é um serviço de integração de dados na nuvem que permite compor serviços de processamento, de movimentação e de armazenamento de dados em pipelines de dados automatizados. Você pode usar o ADF para orquestrar um trabalho do Azure Databricks como parte de um pipeline do ADF.
O ADF também tem suporte interno para executar notebooks do Databricks, scripts Python ou código empacotado em JARs em um pipeline do ADF.
Para saber como executar um notebook do Databricks em um pipeline do ADF, consulte Executar um notebook do Databricks com a atividade do notebook do Databricks no Azure Data Factory, seguido por Transformar dados executando um notebook do Databricks.
Para saber como executar um script Python em um pipeline do ADF, consulte Transformar dados executando uma atividade do Python no Azure Databricks.
Para saber como executar um pacote de códigos em JAR em um pipeline do ADF, consulte Transformar dados executando uma atividade JAR no Azure Databricks.