Introdução aos fluxos de trabalho do Azure Databricks

Os Fluxos de Trabalho do Azure Databricks orquestram o processamento de dados, a aprendizagem automática e os pipelines de análise na Plataforma de Inteligência de Dados Databricks. Os fluxos de trabalho têm serviços de orquestração totalmente gerenciados integrados com a plataforma Databricks, incluindo Trabalhos do Azure Databricks para executar código não interativo em seu espaço de trabalho do Azure Databricks e Delta Live Tables para criar pipelines ETL confiáveis e fáceis de manter.

Para saber mais sobre os benefícios de orquestrar seus fluxos de trabalho com a plataforma Databricks, consulte Fluxos de trabalho Databricks.

Um exemplo de fluxo de trabalho do Azure Databricks

O diagrama a seguir ilustra um fluxo de trabalho orquestrado por um trabalho do Azure Databricks para:

  1. Execute um pipeline Delta Live Tables que ingere dados brutos de clickstream do armazenamento em nuvem, limpa e prepara os dados, sessioniza os dados e persiste o conjunto final de dados sessionizados para Delta Lake.
  2. Execute um pipeline Delta Live Tables que ingere dados de pedidos do armazenamento em nuvem, limpa e transforma os dados para processamento e persiste o conjunto de dados final para Delta Lake.
  3. Junte-se aos dados de clickstream de ordem e sessão para criar um novo conjunto de dados para análise.
  4. Extraia recursos dos dados preparados.
  5. Execute tarefas em paralelo para persistir os recursos e treinar um modelo de aprendizado de máquina.

Diagrama ilustrando um fluxo de trabalho de exemplo

O que é o Azure Databricks Jobs?

Um trabalho do Azure Databricks é uma maneira de executar seus aplicativos de processamento e análise de dados em um espaço de trabalho do Azure Databricks. O seu trabalho pode consistir numa única tarefa ou pode ser um grande fluxo de trabalho multitarefas com dependências complexas. O Azure Databricks gere a orquestração de tarefas, gestão de clusters, monitorização e relatórios de erros de todos os seus trabalhos. Você pode executar seus trabalhos imediatamente, periodicamente através de um sistema de agendamento fácil de usar, sempre que novos arquivos chegarem em um local externo, ou continuamente para garantir que uma instância do trabalho esteja sempre em execução. Você também pode executar trabalhos interativamente na interface do usuário do bloco de anotações.

Você pode criar e executar um trabalho usando a interface do usuário de Trabalhos, a CLI do Databricks ou invocando a API de Trabalhos. Pode reparar e executar novamente um trabalho falhado ou cancelado com a IU ou a API. Você pode monitorar os resultados da execução do trabalho 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 do Databricks, consulte O que é a CLI do Databricks?. Para saber mais sobre como usar a API de Trabalhos, consulte a API de Trabalhos.

As seções a seguir abordam recursos importantes dos Trabalhos do Azure Databricks.

Importante

  • Um espaço de trabalho é limitado a 1000 execuções de tarefas simultâneas. É devolvida uma resposta 429 Too Many Requests quando 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.

Implemente processamento e análise de dados com tarefas de trabalho

Você implementa seu fluxo de trabalho de processamento e análise de dados usando tarefas. Um trabalho é composto por uma ou mais tarefas. Você pode criar tarefas de trabalho que executam notebooks, JARS, pipelines Delta Live Tables ou aplicativos Python, Scala, Spark submit e Java. Suas tarefas de trabalho também podem orquestrar consultas, alertas e painéis Databricks SQL 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 Legacy Spark Submit também são suportados.

Você também pode adicionar uma tarefa a um trabalho que executa um trabalho diferente. Esse recurso permite dividir um processo grande em vários trabalhos menores ou criar módulos generalizados que podem ser reutilizados por vários trabalhos.

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 em paralelo.

Executar trabalhos de forma interativa, contínua ou usando gatilhos de trabalho

Você pode executar seus trabalhos interativamente a partir da interface do usuário de trabalhos, API ou CLI ou pode executar um trabalho contínuo. Você pode criar uma agenda para executar seu trabalho periodicamente ou executar seu trabalho quando novos arquivos chegarem em um local externo, como o Amazon S3, o armazenamento do Azure ou o armazenamento do Google Cloud.

Monitore o progresso do trabalho com notificações

Você pode receber notificações quando um trabalho ou tarefa é iniciado, concluído ou falha. Você pode enviar notificações para um ou mais endereços de e-mail ou destinos do sistema (por exemplo, destinos webhook ou Slack). Consulte Adicionar notificações por e-mail e do sistema para eventos de trabalho.

Execute seus trabalhos com os recursos de computação do Azure Databricks

Os clusters Databricks e os armazéns SQL fornecem os recursos de computação para os seus trabalhos. Você pode executar seus trabalhos com um cluster de tarefas, um cluster multiuso ou um SQL warehouse:

  • Um cluster de tarefas é um cluster dedicado para o seu trabalho ou tarefas individuais. Seu trabalho pode usar um cluster de trabalho compartilhado por todas as tarefas ou você pode configurar um cluster para tarefas individuais ao criar ou editar uma tarefa. Um cluster de trabalhos é criado quando o trabalho ou tarefa é iniciado e terminado quando o trabalho ou tarefa termina.
  • Um cluster multiuso é um cluster compartilhado que é iniciado e encerrado manualmente e pode ser compartilhado por vários usuários e trabalhos.

Para otimizar o uso de recursos, o Databricks recomenda o uso de um cluster de tarefas para seus trabalhos. Para reduzir o tempo gasto aguardando a inicialização do cluster, considere o uso de um cluster multiuso. Consulte Usar a computação do Azure Databricks com seus trabalhos.

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óximos passos

Para começar a usar os Trabalhos do Azure Databricks:

Saiba mais sobre como criar, gerenciar e solucionar problemas de fluxos de trabalho com o Azure Databricks Jobs:

  • Saiba como comunicar informações entre tarefas em um trabalho do Azure Databricks com valores de tarefa.
  • Saiba como passar o contexto sobre execuções de trabalho em tarefas de trabalho com variáveis de parâmetro de tarefa.
  • Saiba como configurar suas tarefas de trabalho para serem executadas condicionalmente com base no status das dependências da tarefa.
  • Saiba como solucionar problemas e corrigir trabalhos com falha .
  • Seja notificado quando a execução do trabalho iniciar, concluir ou falhar com as notificações de execução do trabalho.
  • Acione seus trabalhos em uma agenda personalizada ou execute um trabalho contínuo.
  • Saiba como executar seu trabalho do Azure Databricks quando novos dados chegam com gatilhos de chegada de arquivo.
  • Saiba como usar os recursos de computação do Databricks para executar seus trabalhos.
  • Saiba mais sobre as atualizações da API de Trabalhos para dar suporte à criação e ao gerenciamento de fluxos de trabalho com trabalhos do Azure Databricks.
  • Use guias de instruções e tutoriais para saber mais sobre como implementar fluxos de trabalho de dados com o Azure Databricks Jobs.

O que é Delta Live Tables?

Nota

Delta Live Tables requer o plano Premium. Entre em contato com sua equipe de conta Databricks para obter mais informações.

Delta Live Tables é uma estrutura que simplifica o processamento de dados de ETL e streaming. Delta Live Tables fornece ingestão eficiente de dados com suporte integrado para Auto Loader, interfaces SQL e Python que suportam implementação declarativa de transformações de dados e suporte para gravar dados transformados no Delta Lake. Você define as transformações a serem executadas 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?.

Azure Databricks Jobs e Delta Live Tables

Os Trabalhos do Azure Databricks e as Tabelas Delta Live fornecem uma estrutura abrangente para criar e implantar fluxos de trabalho de análise e processamento de dados de ponta a ponta.

Use Delta Live Tables para toda a ingestão e transformação de dados. Use os Trabalhos do Azure Databricks para orquestrar cargas de trabalho compostas por uma única tarefa ou várias tarefas de processamento e análise de dados na plataforma Databricks, incluindo ingestão e transformação de Delta Live Tables.

Como um sistema de orquestração de fluxo de trabalho, o Azure Databricks Jobs também suporta:

  • Executar trabalhos de forma acionada, por exemplo, executar um fluxo de trabalho em uma agenda.
  • Análise de dados por meio de consultas SQL, aprendizado de máquina e análise de dados com notebooks, scripts ou bibliotecas externas, e assim por diante.
  • Executar um trabalho composto por uma única tarefa, por exemplo, executar um trabalho do Apache Spark empacotado em um JAR.

Orquestração de fluxo de trabalho com Apache AirFlow

Embora o Databricks recomende o uso do Azure Databricks Jobs para orquestrar seus fluxos de trabalho de dados, você também pode usar 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 trabalhos do Azure Databricks com o Apache Airflow.

Orquestração do fluxo de trabalho com o Azure Data Factory

O Azure Data Factory (ADF) é um serviço de integração de dados na nuvem que permite compor serviços de armazenamento, movimentação e processamento 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.

Para saber como executar um trabalho usando a atividade Web do ADF, incluindo como autenticar no Azure Databricks a partir do ADF, consulte Aproveitar a orquestração de trabalhos do Azure Databricks do Azure Data Factory.

O ADF também fornece suporte interno para executar notebooks Databricks, scripts Python ou código empacotado em JARs em um pipeline do ADF.

Para saber como executar um bloco de anotações Databricks em um pipeline do ADF, consulte Executar um bloco de anotações Databricks com a atividade do bloco de anotações Databricks no Azure Data Factory, seguido por Transformar dados executando um bloco de anotações Databricks.

Para saber como executar um script Python em um pipeline do ADF, consulte Transformar dados executando uma atividade Python no Azure Databricks.

Para saber como executar código empacotado em um JAR em um pipeline do ADF, consulte Transformar dados executando uma atividade JAR no Azure Databricks.