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.
Lakeflow Jobs é automação de fluxos de trabalho para Azure Databricks, fornecendo orquestração para cargas de processamento de dados para que possa coordenar e executar múltiplas 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.
O que são empregos?
No Databricks, um trabalho é usado para agendar e orquestrar tarefas no Databricks em um fluxo de trabalho. Fluxos de trabalho comuns de processamento de dados incluem fluxos de trabalho ETL, execução de notebooks e workflows de aprendizagem automática (ML), bem como integração com sistemas externos como dbt e Azure Data Factory (ADF).
Os trabalhos consistem em uma ou mais tarefas e oferecem suporte à lógica de fluxo de controle personalizada, como ramificações (instruções if / else) ou looping (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 abaixo 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 para valores nulos.
- Caso contrário, uma tarefa de transformação é executada.
- Caso contrário, ele executa uma tarefa de notebook com validação da qualidade dos dados.
- Está programado para funcionar no mesmo horário todos os dias.
Para obter uma introdução rápida à criação de seu próprio trabalho, consulte Criar seu primeiro fluxo de trabalho com o Lakeflow Jobs.
Conceitos de orquestração
Existem três conceitos principais ao usar Lakeflow Jobs para orquestração no Azure Databricks: jobs, tarefas e triggers.
Job - Um trabalho é o principal recurso para coordenar, agendar e executar as suas operações. Os trabalhos podem variar em complexidade, desde uma única tarefa a executar um notebook Azure Databricks até centenas de tarefas com lógica condicional e dependências. As tarefas em um trabalho são representadas visualmente por um Gráfico Acíclico Direcionado (DAG). Você pode especificar propriedades para a tarefa, incluindo:
- Trigger - define quando executar a tarefa.
- Parâmetros - parâmetros de tempo de execução que são automaticamente atribuídos a tarefas dentro do processo.
- Notificações - e-mails ou webhooks a serem enviados quando um trabalho falha ou demora muito tempo.
- Git - configurações de controle do código-fonte para as tarefas de trabalho.
Tarefa - Uma tarefa é uma unidade específica de trabalho dentro de uma tarefa. Cada tarefa pode executar uma variedade de operações, incluindo:
- Uma tarefa de execução de notebook executa um notebook do Databricks. Você especifica o caminho para o bloco de anotações e todos os parâmetros necessários.
- Uma atividade de pipeline executa um pipeline. Pode especificar pipelines Lakeflow já existentes, como uma vista materializada ou uma tabela de streaming.
- Uma tarefa de script Python executa um ficheiro Python. Você fornece o caminho para o arquivo e quaisquer parâmetros necessários.
Existem 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.
Trigger - Um gatilho é um mecanismo que inicia a execução de um trabalho com base em condições ou eventos específicos. Um gatilho pode ser baseado no tempo, como executar um trabalho a uma hora marcada (por exemplo, todos os dias às 2 da manhã), ou baseado em eventos, como executar um trabalho quando novos dados chegam ao armazenamento na cloud.
Monitorização e observabilidade
Os trabalhos fornecem suporte integrado para monitoramento e observabilidade. Os tópicos a seguir fornecem uma visão geral desse suporte. Para mais informações sobre a monitorização de tarefas e a orquestração, consulte Monitorizar tarefas do Lakeflow.
Monitorização e observabilidade de trabalhos na UI - Na interface Azure Databricks pode visualizar tarefas, incluindo detalhes como o proprietário do trabalho e o resultado da última execução, e filtrar por propriedades de trabalho. Você pode exibir um histórico de execuções de trabalho e obter informações detalhadas sobre cada tarefa no trabalho.
Status e métricas de execução de tarefa - O Databricks relata o sucesso da execução da tarefa e registra os logs e as métricas para cada tarefa dentro de uma execução de trabalho para diagnosticar problemas e entender o desempenho.
Notificações e alertas - Você pode configurar notificações para eventos de trabalho por e-mail, Slack, webhooks personalizados e uma série de outras opções.
Consultas personalizadas através de tabelas de sistema - Azure Databricks fornece tabelas de sistema que registam as execuções de trabalhos 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 métricas e tendências de trabalho, para ajudar a monitorar a integridade e o desempenho de seus fluxos de trabalho.
Limitações
As seguintes limitações existem:
- Um espaço de trabalho é limitado a 2000 execuções de tarefas simultâneas. É devolvida uma resposta
429 Too Many Requestsquando pede uma execução que não pode ser iniciada imediatamente. - O número de trabalhos que um espaço de trabalho pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Este limite também afeta as tarefas criadas pela API REST e os fluxos de trabalho do bloco de notas.
- Um espaço de trabalho pode conter até 12000 empregos salvos.
- Um trabalho pode conter até 1000 tarefas.
- Quando as tarefas usam valores dinâmicos nos seus parâmetros, os parâmetros do trabalho são limitados a 10.000 caracteres.
Gerir 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 Automação Declarativa
- Extensão Databricks para Visual Studio Code
- Databricks SDKs
- Trabalhos REST API
Para obter exemplos de como usar ferramentas e APIs para criar e gerenciar trabalhos, consulte Automatizar a criação e o gerenciamento de trabalhos. Para documentação sobre todas as developer tools disponíveis, consulte Ferramentas de programação use cases.
As ferramentas externas usam as ferramentas e APIs do Databricks para agendar fluxos de trabalho de forma programática. Pode agendar os seus trabalhos usando ferramentas como o Azure Data Factory ou o Apache AirFlow.
Orquestração de workflow com Apache Airflow
Você pode usar o Apache Airflow para gerenciar e agendar seus fluxos de trabalho de dados. Com o Airflow, defines o teu fluxo de trabalho num ficheiro Python, e o Airflow gere o agendamento e a execução do fluxo de trabalho. Consulte Orquestrar trabalhos do Lakeflow com o Apache Airflow.
Orquestração de workflow com Azure Data Factory
Azure Data Factory (ADF) é um serviço de integração de dados na cloud que lhe permite compor serviços de armazenamento, movimentação e processamento de dados em pipelines de dados automatizados. Pode usar o ADF para orquestrar uma tarefa no Azure Databricks como parte de um pipeline do ADF.
O ADF também tem suporte incorporado para executar cadernos Databricks, scripts Python ou código empacotado em JARs num pipeline ADF.
Para aprender a executar um caderno Databricks numa pipeline ADF, veja Execute um caderno Databricks com a atividade do caderno Databricks em Azure Data Factory, seguido de Transforme dados executando um caderno Databricks.
Para aprender a executar um script Python numa pipeline ADF, veja Transformar dados executando uma atividade Python em Azure Databricks.
Para aprender a executar código empacotado num JAR numa pipeline ADF, veja Transformar dados executando uma atividade JAR em Azure Databricks.