Introdução aos fluxos de trabalho do Databricks
O Databricks Workflows orquestra o processamento de dados, machine learning e pipeline analítico na plataforma Databricks Data Intelligence. fluxo de trabalho possui serviço de orquestração totalmente gerenciado integrado à plataforma Databricks, incluindo Databricks Jobs para execução de código não interativo em seu workspace Databricks e Delta Live Tables para construir pipeline ETL confiável e de fácil manutenção.
Para saber mais sobre os benefícios de orquestrar seu fluxo de trabalho com a plataforma Databricks, consulte Databricks Workflows.
Um exemplo de fluxo de trabalho do Databricks
O diagrama a seguir ilustra um fluxo de trabalho orquestrado por um job do Databricks para:
Executar um pipeline Delta Live Tables que ingere dados brutos de clickstream do armazenamento em nuvem, limpa e prepara os dados, inclui os dados em sessão e persiste o conjunto de dados em sessão final para Delta Lake.
Executar um pipeline Delta Live Tables que ingere dados de pedidos do armazenamento em nuvem, limpe e transforme os dados para processamento e persista o conjunto de dados final no Delta Lake.
Unir a ordem e os dados de sequência de cliques da sessão para criar um novo conjunto de dados para análise.
Extrair recursos dos dados preparados.
Executar tarefas em paralelo para persistir os recursos e treinar um modelo de aprendizado de máquina.
O que são Databricks Jobs?
Um Databricks job é uma forma de executar seus aplicativos de processamento e análise de dados em um workspace do Databricks. Seu job pode consistir em uma única tarefa ou pode ser um fluxo de trabalho grande e multitarefa com dependências complexas. O Databricks gerencia a orquestração de tarefas, o gerenciamento de clusters, o monitoramento e o relatório de erros de todos os seus jobs. Você pode executar seus jobs imediatamente, periodicamente por meio de um sistema de agendamento fácil de usar, sempre que novos arquivos chegarem a um local externo ou continuamente para garantir que uma instância do trabalho esteja sempre em execução. Você também pode executar jobs interativamente na interface do usuário do notebook.
Você pode criar e executar um job usando a interface do usuário do Jobs, a CLI do Databricks ou invocando a API Jobs. Você pode reparar e executar novamente um job com falha ou cancelado usando a interface do usuário ou a API. Você pode monitorar os resultados da execução do job usando a interface do usuário, a CLI, a API e as notificações (por exemplo, e-mail, destino do webhook ou notificações do Slack).
Para saber mais sobre como usar a CLI da Databricks, consulte O que é a CLI da Databricks? Para saber mais sobre como usar a API de Jobs, consulte a API de Jobs.
As seções a seguir abordam recursos importantes do Databricks Jobs.
Importante
Um workspace está limitado a 1000 execuções simultâneas de tarefas. É retornada a resposta
429 Too Many Requests
quando você solicita uma execução que não pode iniciar imediatamente.O número de jobs que um workspace pode criar em uma hora limita-se a 10 mil (inclui “envio de execuções”). Esse limite também afeta os jobs criados pela API REST e pelos fluxos de trabalho do notebook.
Implementar processamento e análise de dados com tarefas de jobs
Você implementa seu fluxo de trabalho de processamento e análise de dados com as tarefas. Um job é composto por uma ou mais tarefas. Você pode criar tarefas de jobs que executam aplicativos de notebooks, JARS, pipelines Delta Live Tables ou aplicativos Python, Scala, Spark submit e Java. As tarefas dos jobs também podem orquestrar consultas, alertas e painéis SQL do Databricks para criar análises e visualizações, ou você pode usar a tarefa dbt para executar transformações dbt em seu fluxo de trabalho. Os aplicativos legados do Spark Submit também são suportados.
Você também pode adicionar uma tarefa a um job que executa outro job. Esse recurso permite dividir um processo grande em vários jobs menores ou criar módulos generalizados que podem ser reutilizados por vários jobs.
Você controla a ordem de execução das tarefas especificando dependências entre as tarefas. Você pode configurar tarefas para serem executadas em sequência ou paralelas.
Executar jobs de forma interativa, contínua ou usando gatilhos de trabalho
O senhor pode executar o trabalho interativamente a partir da interface do usuário do Jobs, da API ou da CLI ou pode executar um trabalho contínuo Job. O senhor pode criar um programa para executar seu Job periodicamente ou executar seu Job quando novos arquivos chegarem em um local externo, como o Amazon S3, o armazenamento do Azure ou o Google Cloud Storage.
Monitorar o progresso do job com notificações
Você pode receber notificações quando um job ou uma tarefa iniciar, concluir ou falhar. Você pode enviar notificações para um ou mais endereços de e-mail ou destinos de sistema (por exemplo, destinos de webhook ou Slack). Consulte Adicionar notificações de e-mail e sistema para eventos de jobs.
Execute seus jobs com os recursos de computação da Databricks
Os clusters do Databricks e os SQL warehouses proporcionam os recursos de computação para os seus jobs. Você pode executar seus jobs com um cluster de jobs, um cluster multiuso ou um SQL warehouse:
Um cluster de job é um cluster dedicado para seu job ou tarefas de jobs individuais. Seu job pode usar um cluster de job compartilhado por todas as tarefas ou você pode configurar um cluster para tarefas individuais ao criar ou editar uma tarefa. Um agrupamento de tarefas é criado quando o job ou a tarefa inicia e termina quando o job ou a tarefa termina.
Um cluster para todos os fins é um cluster compartilhado que é iniciado e encerrado manualmente e que pode ser compartilhado por vários usuários e jobs.
Para otimizar o uso de recursos, a Databricks recomenda o uso de um cluster de jobs para seus jobs. Para reduzir o tempo gasto esperando pela inicialização do cluster, considere a possibilidade de usar um cluster multiuso. Consulte Usar a computação do Databricks com seus jobs.
Você usa um SQL warehouse para executar tarefas do Databricks SQL, como consultas, painéis ou alertas. Você também pode usar um SQL warehouse para executar transformações dbt com a tarefa dbt.
Próximas etapas
Para começar com jobs do Databricks:
Crie seu primeiro Databricks Job com o início rápido.
Saiba como criar e executar fluxos de trabalho com a interface de usuário do Databricks Jobs.
Saiba como executar a Job sem precisar configurar Databricks compute recurso com serverless fluxo de trabalho.
Saiba mais sobre o monitoramento de execuções de jobs na interface de usuário do Databricks Jobs.
Saiba mais sobre as opções de configuração para jobs.
Saiba mais sobre como criar, gerenciar e solucionar problemas de fluxos de trabalho com o Databricks Jobs:
Aprenda a comunicar informações entre tarefas em um job do Databricks com valores de tarefas.
Saiba como passar o contexto sobre execuções de jobs em tarefas de jobs com variáveis de parâmetro de tarefa.
Saiba como configurar suas tarefas de job para serem executadas condicionalmente com base no status das dependências da tarefa.
Saiba como solucionar problemas e corrigir jobs com falhas.
Seja notificado quando suas execuções de jobs começarem, forem concluídas ou falharem com as notificações de execução de jobs.
Acione seus jobs em uma programação personalizada ou execute um job contínuo.
Saiba como executar seu job no Databricks quando novos dados chegarem com acionadores de chegada de arquivos.
Aprenda a usar os recursos de computação do Databricks para executar seus jobs.
Saiba mais sobre as atualizações da API Jobs para dar suporte à criação e ao gerenciamento de fluxo de trabalho com Databricks Job.
Use abas de instruções e tutoriais para saber mais sobre como implementar fluxos de trabalho de dados com o Databricks Jobs.
O que é Delta Live Tables?
O Delta Live Tables é uma estrutura que simplifica o processamento de dados de ETL e transmissão. O Delta Live Tables fornece ingestão eficiente de dados com suporte integrado para interfaces Auto Loader, SQL e Python que oferecem compatibilidade com a implementação declarativa de transformações de dados e compatibilidade com a gravação de dados transformados no Delta Lake. Você define as transformações a serem realizadas em seus dados e o Delta Live Tables gerencia a orquestração de tarefas, o gerenciamento de clusters, o monitoramento, a qualidade dos dados e o tratamento de erros.
Para começar, consulte O que é Delta Live Tables?.
Databricks Jobs e Delta Live Tables
O Databricks Jobs e o Delta Live Tables oferecem uma estrutura abrangente para a criação e a implementação de fluxos de trabalho de análise e processamento de dados de ponta a ponta.
Use Delta Live Tables para toda ingestão e transformação de dados. Utilize trabalhos do Databricks para orquestrar cargas de trabalho compostas por uma única tarefa ou múltiplas tarefas de processamento e análise de dados na plataforma Databricks, incluindo ingestão e transformações do Delta Live Tables.
Como um sistema de orquestração de fluxo de trabalho, o Databricks Jobs também oferece compatibilidade com:
Execução de jobs em uma base acionada, por exemplo, execução de um fluxo de trabalho em uma programação.
Análise de dados por meio de consultas SQL, aprendizado de máquina e análise de dados com notebook, scripts ou bibliotecas externas e assim por diante.
Executar um job composto por uma única tarefa, como executar um job Apache Spark empacotado em um JAR.
Orquestração de fluxo de trabalho com Apache AirFlow
Embora o Databricks recomende o uso do Databricks Jobs para orquestrar seus fluxos de trabalho de dados, você também pode utilizar o Apache Airflow para gerenciar e agendar seus 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 Orquestrar Databricks jobs com Apache Airflow.