Visão geral da orquestração no Databricks
Databricks fornece uma experiência integrada para orquestrar cargas de trabalho de processamento de dados, para que o senhor possa coordenar e executar várias tarefas como parte de um fluxo de trabalho maior. O senhor pode agilizar, otimizar e programar a execução de tarefas frequentes e repetíveis, o que facilita a gestão de fluxos de trabalho complexos.
Este artigo apresenta conceitos e opções relacionados ao gerenciamento de cargas de trabalho de produção usando o Databricks Job.
O que são empregos?
Em Databricks, um Job é usado para programar e orquestrar tarefas em Databricks em um fluxo de trabalho. O fluxo de trabalho comum de processamento de dados inclui ETL fluxo de trabalho, execução de Notebook e fluxo de trabalho de aprendizado de máquina (ML), bem como a integração com sistemas externos como dbt.
Os trabalhos consistem em uma ou mais tarefas e suportam a lógica de fluxo de controle personalizada, como ramificação (instruções if / else) ou looping (para cada instrução), usando uma UI de criação visual. A tarefa pode carregar ou transformar dados em um fluxo de trabalho ETL ou criar, treinar e implantar modelos ML de forma controlada e repetível como parte de seu pipeline de aprendizado de máquina.
Exemplo: Processamento diário de dados e trabalho de validação
O exemplo abaixo mostra um trabalho em Databricks.

Esse exemplo de trabalho tem as seguintes características:
A primeira tarefa ingere dados de receita.
A segunda tarefa é uma verificação if / else para nulos.
Caso contrário, a tarefa de transformações é executada.
Caso contrário, ele executa uma tarefa do Notebook com uma validação da qualidade dos dados.
Está programado para ser executado todos os dias às 11:29 AM.
Para obter uma rápida introdução à criação de seu próprio trabalho, consulte Criar seu primeiro fluxo de trabalho com um trabalho no site Databricks .
Casos de uso comuns
Desde os princípios fundamentais da engenharia de dados até o aprendizado de máquina avançado e a integração perfeita de ferramentas, esses casos de uso comuns demonstram a amplitude dos recursos que impulsionam a análise moderna, a automação do fluxo de trabalho e a escalabilidade da infraestrutura.
ETL (extrair, transformar, carregar) pipeline: Automatize a extração de dados de várias fontes, transforme os dados em um formato adequado e carregue-os em um site data warehouse ou data lake. Veja como executar sua primeira ETL carga de trabalho em Databricks Migração de dados: mova dados de um sistema para outro. Processamento contínuo de dados: Use Jobs para tarefas de processamento contínuo de dados, como transmissão de dados de fontes como Kafka e gravação em tabelas Delta. |
|
Model treinamento: programar e executar o modelo do machine learning treinamento Job para garantir que os modelos sejam treinados com os dados mais recentes. lotes inference: Automatize o processo de execução do trabalho de inferência de lotes para gerar previsões a partir de modelos treinados. Ajuste de hiperparâmetros: Orquestrar o trabalho de ajuste de hiperparâmetros para otimizar o modelo de aprendizado de máquina. |
|
analítica e relatórios |
Consultas programadas: execução SQL de consultas em um Job em um programar para gerar relatórios ou atualizar dashboards. Agregação de dados: Realizar tarefas regulares de agregação de dados para preparar os dados para análise. |
Automatizando a tarefa |
Fluxo de trabalho multitarefa: Crie fluxos de trabalho complexos que envolvam várias tarefas, como a execução de uma série de arquivos do Notebook, JAR, consultas SQL ou pipeline Delta Live Tables. Lógica condicional: Use a lógica condicional para controlar o fluxo da tarefa com base no sucesso ou na falha da tarefa anterior. |
Notificações e monitoramento |
Configure notificações e monitore os resultados da execução do trabalho usando a interface do usuário Databricks, CLI, ou API, ou usando integrações com ferramentas como Slack e webhooks. |
Integração com outras ferramentas |
Apache Airflow: Acione o Databricks Job usando ferramentas externas de orquestração como o Apache Airflowpermitindo um fluxo de trabalho mais complexo e integrado. |
Infraestrutura como código (IaC) |
Databricks ativo Bundles: gerenciar Job e outros recursos como código para facilitar o controle de versão, a revisão de código e as práticas de CI/CD (Continuous Integration/Continuous Deployment). |
Conceitos de orquestração
Há três conceitos principais ao usar a orquestração em Databricks: Trabalho, tarefa e gatilhos.
Job - Um Job é o principal recurso para coordenar, programar e executar suas operações. Os trabalhos podem variar em complexidade, desde uma única tarefa executando um Databricks Notebook até centenas de tarefas com lógica condicional e dependências. A tarefa em um trabalho é representada visualmente por um gráfico acíclico direcionado (DAG). O senhor pode especificar propriedades para o Job, incluindo:
Trigger - define quando o trabalho deve ser executado.
Parâmetros - parâmetros de tempo de execução que são automaticamente enviados para a tarefa dentro do Job.
Notificações - e-mail ou webhooks a serem enviados quando um trabalho falhar ou demorar muito.
Git - configurações de controle de origem para o Job tarefa.
Tarefa - Uma tarefa é uma unidade específica de trabalho em um Job. Cada tarefa pode executar uma variedade de operações, incluindo:
A tarefa Notebook executa a Databricks Notebook. O senhor especifica o caminho para o Notebook e os parâmetros que ele requer.
A pipeline tarefa executar a pipeline. O senhor pode especificar um Delta Live Tables pipeline existente, como uma tabela materializada view ou de transmissão.
A Python script tarefa executar a Python file. Você fornece o caminho para o arquivo e todos os parâmetros necessários.
Há muitos tipos de tarefa. Para obter uma lista completa, consulte Tipos de tarefa. A tarefa pode ter dependências de outras tarefas e executar condicionalmente outras tarefas, permitindo que o senhor crie fluxos de trabalho complexos com lógica condicional e dependências.
Gatilho - Um gatilho é um mecanismo que inicia a execução de um trabalho com base em condições ou eventos específicos. Um acionador pode ser baseado em tempo, como a execução de um trabalho em um horário programado (por exemplo, todos os dias às 2h), ou baseado em eventos, como a execução de um trabalho quando novos dados chegam ao armazenamento em nuvem.
monitoramento e observabilidade
Os trabalhos oferecem suporte integrado para monitoramento e observabilidade. Os tópicos a seguir oferecem uma visão geral desse suporte. Para obter mais detalhes sobre monitoramento de trabalhos e orquestração, consulte monitoramento e observabilidade para Databricks Jobs.
Job Monitoramento e observabilidade na interface do usuário - Na interface do usuário Databricks, o senhor pode acessar view Job, incluindo detalhes como o proprietário do Job e o resultado da última execução, e filtrar por propriedades do Job. O senhor pode acessar view a história da execução do trabalho e obter informações detalhadas sobre cada tarefa do trabalho.
Job status de execução e métricas - Databricks informa o sucesso da execução do trabalho e logs e métricas para cada tarefa dentro de uma execução de trabalho para diagnosticar problemas e entender o desempenho.
Notificações e alertas - O senhor pode configurar notificações para eventos do Job via email, Slack, webhooks personalizados e uma série de outras opções.
Consultas personalizadas por meio de tabelas do sistema - O site Databricks fornece tabelas do sistema que registram a execução de trabalhos e tarefas no site account. O senhor pode usar essas tabelas para consultar e analisar o desempenho e os custos do trabalho. O senhor pode criar painéis para visualizar as métricas e tendências do trabalho, para ajudar a monitorar a saúde e o desempenho do seu fluxo de trabalho.
Limitações
Existem as seguintes limitações:
A workspace está limitada a 2000 concorrente tarefa execução. Uma resposta
429 Too Many Requests
é retornada quando o senhor solicita uma execução que não pode começar imediatamente.O número de jobs que um workspace pode criar em uma hora é limitado a 10000 (inclui "envio de execuções"). Esse limite também afeta os jobs criados pela API REST e pelos fluxos de trabalho do notebook.
O site workspace pode conter até 12.000 trabalhos salvos.
Um trabalho pode conter até 100 tarefas.
Posso gerenciar fluxo de trabalho de forma programática?
Databricks possui ferramentas e o site APIs que permitem programar e orquestrar seu fluxo de trabalho de forma programática, incluindo o seguinte:
Para obter exemplos de uso de ferramentas e do site APIs para criar e gerenciar trabalhos, consulte Automatizar a criação e o gerenciamento de trabalhos. Para obter a documentação sobre todas as ferramentas de desenvolvimento disponíveis, consulte Ferramentas de desenvolvimento local.
As ferramentas externas usam as ferramentas Databricks e APIs para programar o fluxo de trabalho. Por exemplo, o senhor também pode programar seu trabalho usando ferramentas como Apache Airflow. Consulte Orchestrate Databricks Job with Apache Airflow .