Pular para o conteúdo principal

LakeFlow Empregos

LakeFlow Jobs é a automação de fluxo de trabalho para Databricks, fornecendo orquestração para 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 otimizar e programar a execução de tarefas frequentes e repetitivas e gerenciar fluxos de trabalho complexos.

Este artigo apresenta conceitos e opções relacionados ao gerenciamento de cargas de trabalho de produção usando LakeFlow Jobs.

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 personalizado, 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.

Um exemplo mostrando um trabalho na interface Databricks com 4 tarefas e um acionador para execução diária.

Esse exemplo de trabalho tem as seguintes características:

  1. A primeira tarefa ingere dados de receita.
  2. A segunda tarefa é uma verificação if / else para nulos.
  3. Se não, então a transformação tarefa é execução.
  4. Caso contrário, ele executa uma tarefa do Notebook com uma validação da qualidade dos dados.
  5. 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 Job, consulte Criar seu primeiro fluxo de trabalho com LakeFlow Jobs.

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 mostram a amplitude dos recursos que impulsionam a análise moderna, a automação do fluxo de trabalho e a escalabilidade da infraestrutura.

Conceitos de orquestração

Há três conceitos principais ao usar LakeFlow Jobs para orquestração em Databricks: Job, 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 a tarefa Job.

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 o pipeline LakeFlow Declarative 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 o monitoramento do trabalho e a orquestração, consulte monitoramento e observabilidade para LakeFlow 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 de trabalho 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

Aplicam-se as seguintes limitações:

  • A workspace é 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é 1.000 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. Veja Orchestrate LakeFlow Empregos com Apache Airflow .