Share via


Criar e executar trabalhos do Azure Databricks

Este artigo detalha como criar e executar Trabalhos do Azure Databricks usando a interface do usuário de Trabalhos.

Para saber mais sobre as opções de configuração para trabalhos e como editar seus trabalhos existentes, consulte Definir configurações para trabalhos do Azure Databricks.

Para saber como gerenciar e monitorar execuções de trabalho, consulte Exibir e gerenciar execuções de trabalho.

Para criar seu primeiro fluxo de trabalho com um trabalho do Azure Databricks, consulte o início rápido.

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.

Criar e executar trabalhos usando a CLI, API ou blocos de anotações

  • Para saber mais sobre como usar a CLI do Databricks para criar e executar trabalhos, consulte O que é a CLI do Databricks?.
  • Para saber mais sobre como usar a API de Trabalhos para criar e executar trabalhos, consulte Trabalhos na referência da API REST.
  • Para saber como executar e agendar trabalhos diretamente em um bloco de anotações Databricks, consulte Criar e gerenciar trabalhos agendados do bloco de anotações.

Criar um emprego

  1. Execute um dos seguintes procedimentos:

    • Clique em Ícone Fluxos de TrabalhoFluxos de trabalho na barra lateral e clique em .Botão Criar Trabalho
    • Na barra lateral, clique em Novo íconeNovo e selecione Trabalho.

    A guia Tarefas aparece com a caixa de diálogo Criar tarefa junto com o painel lateral Detalhes do trabalho contendo configurações de nível de trabalho.

    Criar tela de trabalho

  2. Substitua Novo Trabalho... pelo nome do seu trabalho.

  3. Insira um nome para a tarefa no campo Nome da tarefa .

  4. No menu suspenso Tipo, selecione o tipo de tarefa a ser executada. Consulte Opções de tipo de tarefa.

  5. Configure o cluster onde a tarefa é executada. Por padrão, a computação sem servidor será selecionada se seu espaço de trabalho estiver em um espaço de trabalho habilitado para Catálogo Unity e você tiver selecionado uma tarefa suportada pela computação sem servidor para fluxos de trabalho. Consulte Executar seu trabalho do Azure Databricks com computação sem servidor para fluxos de trabalho. Se a computação sem servidor não estiver disponível ou se você quiser usar um tipo de computação diferente, poderá selecionar um novo cluster de trabalho ou um cluster multiuso existente no menu suspenso Computação .

    • Novo Cluster de Trabalho: Clique em Editar no menu suspenso Cluster e conclua a configuração do cluster.
    • Cluster multiuso existente: selecione um cluster existente no menu suspenso Cluster . Para abrir o cluster em uma nova página, clique no Link externo ícone à direita do nome e da descrição do cluster.

    Para saber mais sobre como selecionar e configurar clusters para executar tarefas, consulte Usar a computação do Azure Databricks com seus trabalhos.

  6. Para adicionar bibliotecas dependentes, clique em + Adicionar ao lado de Bibliotecas dependentes. Consulte Configurar bibliotecas dependentes.

  7. Você pode passar parâmetros para sua tarefa. Para obter informações sobre os requisitos de formatação e passagem de parâmetros, consulte Passar parâmetros para uma tarefa de trabalho do Azure Databricks.

  8. Opcionalmente, para receber notificações sobre início, êxito ou falha da tarefa, clique em + Adicionar ao lado de E-mails. As notificações de falha são enviadas na falha da tarefa inicial e em quaisquer tentativas subsequentes. Para filtrar notificações e reduzir o número de e-mails enviados, marque Silenciar notificações para execuções ignoradas, Silenciar notificações para execuções canceladas ou Silenciar notificações até a última tentativa.

  9. Para configurar opcionalmente uma política de repetição para a tarefa, clique em + Adicionar ao lado de Tentativas. Consulte Configurar uma política de repetição para uma tarefa.

  10. Para configurar opcionalmente a duração ou o tempo limite esperado da tarefa, clique em + Adicionar ao lado de Limite de duração. Consulte Configurar um tempo de conclusão esperado ou um tempo limite para uma tarefa.

  11. Clique em Criar.

Depois de criar a primeira tarefa, você pode definir configurações de nível de trabalho, como notificações, gatilhos de trabalho e permissões. Consulte Editar um trabalho.

Para adicionar outra tarefa, clique Botão Adicionar Tarefa na visualização DAG. Uma opção de cluster compartilhado será fornecida se você tiver selecionado Computação sem servidor ou configurado um Novo Cluster de Trabalho para uma tarefa anterior. Você também pode configurar um cluster para cada tarefa ao criar ou editar uma tarefa. Para saber mais sobre como selecionar e configurar clusters para executar tarefas, consulte Usar a computação do Azure Databricks com seus trabalhos.

Opcionalmente, você pode definir configurações de nível de trabalho, como notificações, gatilhos de trabalho e permissões. Consulte Editar um trabalho. Você também pode configurar parâmetros de nível de trabalho que são compartilhados com as tarefas do trabalho. Consulte Adicionar parâmetros para todas as tarefas de trabalho.

Opções de tipo de tarefa

A seguir estão os tipos de tarefa que você pode adicionar ao seu trabalho do Azure Databricks e as opções disponíveis para os diferentes tipos de tarefa:

  • Bloco de anotações: no menu suspenso Origem, selecione Espaço de trabalho para usar um bloco de anotações localizado em uma pasta de espaço de trabalho do Azure Databricks ou provedor Git para um bloco de anotações localizado em um repositório Git remoto.

    Espaço de trabalho: use o navegador de arquivos para localizar o bloco de anotações, clique no nome do bloco de anotações e clique em Confirmar.

    Provedor Git: Clique em Editar ou Adicionar uma referência do Git e insira as informações do repositório Git. Consulte Usar um bloco de anotações de um repositório Git remoto.

    Nota

    A saída total das células do bloco de notas (a saída combinada de todas as células do bloco de notas) está sujeita a um limite de tamanho de 20 MB. Além disso, a saída de célula individual está sujeita a um limite de tamanho de 8MB. Se a saída total da célula exceder 20 MB de tamanho, ou se a saída de uma célula individual for maior que 8 MB, a execução será cancelada e marcada como falha.

    Se precisar de ajuda para localizar células próximas ou além do limite, execute o bloco de anotações em um cluster multiuso e use esta técnica de salvamento automático do bloco de anotações.

  • JAR: Especifique a classe Main. Use o nome totalmente qualificado da classe que contém o método principal, por exemplo, org.apache.spark.examples.SparkPi. Em seguida, clique em Adicionar em Bibliotecas Dependentes para adicionar as bibliotecas necessárias para executar a tarefa. Uma dessas bibliotecas deve conter a classe principal.

    Para saber mais sobre tarefas JAR, consulte Usar um JAR em um trabalho do Azure Databricks.

  • Envio de faísca: na caixa de texto Parâmetros, especifique a classe principal, o caminho para o JAR da biblioteca e todos os argumentos, formatados como uma matriz JSON de cadeias de caracteres. O exemplo a seguir configura uma tarefa spark-submit para executar o DFSReadWriteTest a partir dos exemplos do Apache Spark:

    ["--class","org.apache.spark.examples.DFSReadWriteTest","dbfs:/FileStore/libraries/spark_examples_2_12_3_1_1.jar","/discover/databricks-datasets/README.md","/FileStore/examples/output/"]
    

    Importante

    Há várias limitações para tarefas de envio de faísca:

    • Você pode executar tarefas de envio de faísca somente em novos clusters.
    • O Spark-submit não oferece suporte ao dimensionamento automático de cluster. Para saber mais sobre o dimensionamento automático, consulte Dimensionamento automático de cluster.
    • O Spark-submit não suporta a referência Databricks Utilities (dbutils). Para usar os Utilitários Databricks, use tarefas JAR.
    • Se você estiver usando um cluster habilitado para Unity Catalog, o spark-submit será suportado somente se o cluster usar o modo de acesso atribuído. O modo de acesso compartilhado não é suportado.
    • Os trabalhos do Spark Streaming nunca devem ter o máximo de execuções simultâneas definido como maior que 1. Os trabalhos de streaming devem ser definidos para serem executados usando a expressão "* * * * * ?" cron (a cada minuto). Como uma tarefa de streaming é executada continuamente, ela deve ser sempre a tarefa final em um trabalho.
  • Script Python: No menu suspenso Origem , selecione um local para o script Python, Espaço de trabalho para um script no espaço de trabalho local, DBFS para um script localizado no DBFS ou Provedor Git para um script localizado em um repositório Git. Na caixa de texto Path , digite o caminho para o script Python:

    Espaço de trabalho: Na caixa de diálogo Selecionar arquivo Python, navegue até o script Python e clique em Confirmar.

    DBFS: insira o URI de um script Python no DBFS ou no armazenamento em nuvem, por exemplo, dbfs:/FileStore/myscript.py.

    Provedor Git: Clique em Editar e insira as informações do repositório Git. Consulte Usar código Python de um repositório Git remoto.

  • Delta Live Tables Pipeline: No menu suspenso Pipeline, selecione um pipeline Delta Live Tables existente.

    Importante

    Você só pode usar pipelines acionados com a tarefa Pipeline . Não há suporte para pipelines contínuos como uma tarefa de trabalho. Para saber mais sobre pipelines acionados e contínuos, consulte Execução de pipeline contínuo vs. acionado.

  • Roda Python: Na caixa de texto Nome do pacote , insira o pacote a ser importado, por exemplo, myWheel-1.0-py2.py3-none-any.whl. Na caixa de texto Ponto de entrada, digite a função a ser chamada ao iniciar o arquivo de roda do Python. Clique em Adicionar em Bibliotecas Dependentes para adicionar as bibliotecas necessárias para executar a tarefa.

  • SQL: No menu suspenso de tarefas SQL, selecione Consulta, Painel herdado, Alerta ou Arquivo.

    Nota

    • A tarefa SQL requer Databricks SQL e um armazém SQL sem servidor ou profissional.

    Consulta: No menu suspenso Consulta SQL, selecione a consulta a ser executada quando a tarefa for executada.

    Painel herdado: no menu suspenso do painel SQL, selecione um painel a ser atualizado quando a tarefa for executada.

    Alerta: no menu suspenso Alerta SQL, selecione um alerta a ser acionado para avaliação.

    Arquivo: para usar um arquivo SQL localizado em uma pasta de espaço de trabalho do Azure Databricks, no menu suspenso Origem , selecione Espaço de trabalho, use o navegador de arquivos para localizar o arquivo SQL, clique no nome do arquivo e clique em Confirmar. Para usar um arquivo SQL localizado em um repositório Git remoto, selecione Provedor Git, clique em Editar ou Adicionar uma referência git e insira detalhes para o repositório Git. Consulte Usar consultas SQL de um repositório Git remoto.

    No menu suspenso SQL warehouse, selecione um serverless ou pro SQL warehouse para executar a tarefa.

  • dbt: Consulte Usar transformações dbt em um trabalho do Azure Databricks para obter um exemplo detalhado de configuração de uma tarefa dbt.

  • Executar trabalho: no menu suspenso Trabalho , selecione um trabalho a ser executado pela tarefa. Para procurar o trabalho a ser executado, comece a digitar o nome do trabalho no menu Trabalho .

    Importante

    Você não deve criar trabalhos com dependências circulares ao usar a Run Job tarefa ou trabalhos que aninham mais de três Run Job tarefas. As dependências circulares são Run Job tarefas que direta ou indiretamente acionam umas às outras. Por exemplo, o Trabalho A aciona o Trabalho B e o Trabalho B aciona o Trabalho A. O Databricks não oferece suporte a trabalhos com dependências circulares ou que aninham mais de três Run Job tarefas e pode não permitir a execução desses trabalhos em versões futuras.

  • Se/senão: Para saber como usar a If/else condition tarefa, consulte Adicionar lógica de ramificação ao seu trabalho com a tarefa de condição Se/se.

Passar parâmetros para uma tarefa de trabalho do Azure Databricks

Você pode passar parâmetros para muitos dos tipos de tarefas de trabalho. Cada tipo de tarefa tem requisitos diferentes para formatar e passar os parâmetros.

Para acessar informações sobre a tarefa atual, como o nome da tarefa, ou passar contexto sobre a execução atual entre tarefas de trabalho, como a hora de início do trabalho ou o identificador da execução do trabalho atual, use referências de valor dinâmico. Para exibir uma lista de referências de valores dinâmicos disponíveis, clique em Procurar valores dinâmicos.

Se os parâmetros de trabalho estiverem configurados no trabalho ao qual uma tarefa pertence, esses parâmetros serão exibidos quando você adicionar parâmetros de tarefa. Se os parâmetros de trabalho e tarefa compartilharem uma chave, o parâmetro job terá precedência. Um aviso será mostrado na interface do usuário se você tentar adicionar um parâmetro de tarefa com a mesma chave de um parâmetro de trabalho. Para passar parâmetros de trabalho para tarefas que não estão configuradas com parâmetros de valor-chave, como JAR ou tarefas, formate Spark Submit argumentos como {{job.parameters.[name]}}, substituindo [name] pelo key que identifica o parâmetro.

  • Bloco de Anotações: Clique em Adicionar e especifique a chave e o valor de cada parâmetro a ser passado para a tarefa. Você pode substituir ou adicionar parâmetros adicionais ao executar manualmente uma tarefa usando a opção Executar um trabalho com parâmetros diferentes. Os parâmetros definem o valor do widget do bloco de anotações especificado pela chave do parâmetro.

  • JAR: Use uma matriz de cadeias de caracteres formatada em JSON para especificar parâmetros. Essas cadeias de caracteres são passadas como argumentos para o método principal da classe principal. Consulte Configurando parâmetros de trabalho JAR.

  • Spark Submit: Os parâmetros são especificados como uma matriz de cadeias de caracteres formatada em JSON. Em conformidade com a convenção spark-submit do Apache Spark, os parâmetros após o caminho JAR são passados para o método principal da classe principal.

  • Roda Python: No menu suspenso Parâmetros , selecione Argumentos posicionais para inserir parâmetros como uma matriz de cadeias de caracteres formatada em JSON ou selecione Argumentos > de palavra-chave Adicionar para inserir a chave e o valor de cada parâmetro. Os argumentos posicionais e de palavra-chave são passados para a tarefa de roda Python como argumentos de linha de comando. Para ver um exemplo de leitura de argumentos em um script Python empacotado em um arquivo de roda Python, consulte Usar um arquivo de roda Python em um trabalho do Azure Databricks.

  • Executar trabalho: insira a chave e o valor de cada parâmetro de trabalho a ser passado para o trabalho.

  • Script Python: use uma matriz de cadeias de caracteres formatada em JSON para especificar parâmetros. Essas cadeias de caracteres são passadas como argumentos e podem ser lidas como argumentos posicionais ou analisadas usando o módulo argparse em Python. Para ver um exemplo de leitura de argumentos posicionais em um script Python, consulte Etapa 2: Criar um script para buscar dados do GitHub.

  • SQL: Se sua tarefa executar uma consulta parametrizada ou um painel parametrizado, insira valores para os parâmetros nas caixas de texto fornecidas.

Copiar um caminho de tarefa

Certos tipos de tarefas, por exemplo, tarefas de bloco de anotações, permitem copiar o caminho para o código-fonte da tarefa:

  1. Clique na guia Tarefas .
  2. Selecione a tarefa que contém o caminho a ser copiado.
  3. Clique Ícone de cópia de trabalhos ao lado do caminho da tarefa para copiar o caminho para a área de transferência.

Criar um trabalho a partir de um trabalho existente

Você pode criar rapidamente um novo trabalho clonando um trabalho existente. A clonagem de um trabalho cria uma cópia idêntica do trabalho, exceto para a ID do trabalho. Na página do trabalho, clique em Mais ... ao lado do nome do trabalho e selecione Clonar no menu suspenso.

Criar uma tarefa a partir de uma tarefa existente

Você pode criar rapidamente uma nova tarefa clonando uma tarefa existente:

  1. Na página do trabalho, clique na guia Tarefas .
  2. Selecione a tarefa a ser clonada.
  3. Clique Empregos Elipse Vertical e selecione Clonar tarefa.

Excluir um trabalho

Para excluir um trabalho, na página do trabalho, clique em Mais ... ao lado do nome do trabalho e selecione Excluir no menu suspenso.

Excluir uma tarefa

Para excluir uma tarefa:

  1. Clique na guia Tarefas .
  2. Selecione a tarefa a ser excluída.
  3. Clique Empregos Elipse Vertical e selecione Remover tarefa.

Executar um trabalho

  1. Clique em Ícone Fluxos de TrabalhoFluxos de trabalho na barra lateral.
  2. Selecione um trabalho e clique na guia Execuções . Você pode executar um trabalho imediatamente ou programá-lo para ser executado mais tarde.

Se uma ou mais tarefas em um trabalho com várias tarefas não forem bem-sucedidas, você poderá executar novamente o subconjunto de tarefas malsucedidas. Consulte Executar novamente tarefas com falha e ignoradas.

Executar um trabalho imediatamente

Para executar o trabalho imediatamente, clique em Botão Executar agora.

Gorjeta

Você pode executar uma execução de teste de um trabalho com uma tarefa de bloco de anotações clicando em Executar Agora. Se você precisar fazer alterações no bloco de anotações, clicar em Executar agora novamente depois de editar o bloco de anotações executará automaticamente a nova versão do bloco de anotações.

Executar um trabalho com parâmetros diferentes

Você pode usar Executar agora com parâmetros diferentes para executar novamente um trabalho com parâmetros diferentes ou valores diferentes para parâmetros existentes.

Nota

Não é possível substituir parâmetros de trabalho se um trabalho que foi executado antes da introdução de parâmetros de trabalho substituir parâmetros de tarefa com a mesma chave.

  1. Clique Blue Down Caret ao lado de Executar agora e selecione Executar agora com parâmetros diferentes ou, na tabela Execuções ativas, clique em Executar agora com parâmetros diferentes. Insira os novos parâmetros dependendo do tipo de tarefa. Consulte Passar parâmetros para uma tarefa de trabalho do Azure Databricks.
  2. Clique em Executar.

Executar um trabalho como entidade de serviço

Nota

Se o trabalho executar consultas SQL usando a tarefa SQL, a identidade usada para executar as consultas será determinada pelas configurações de compartilhamento de cada consulta, mesmo que o trabalho seja executado como uma entidade de serviço. Se uma consulta estiver configurada para Run as owner, a consulta será sempre executada usando a identidade do proprietário e não a identidade da entidade de serviço. Se a consulta estiver configurada para Run as viewer, a consulta será executada usando a identidade da entidade de serviço. Para saber mais sobre as configurações de compartilhamento de consulta, consulte Configurar permissões de consulta.

Por padrão, os trabalhos são executados como a identidade do proprietário do trabalho. Isso significa que o trabalho assume as permissões do proprietário do trabalho. O trabalho só pode acessar dados e objetos do Azure Databricks que o proprietário do trabalho tem permissões para acessar. Você pode alterar a identidade que o trabalho está executando como para uma entidade de serviço. Em seguida, o trabalho assume as permissões dessa entidade de serviço em vez do proprietário.

Para alterar a configuração Executar como , você deve ter a permissão CAN MANAGE ou IS OWNER no trabalho. Você pode definir a configuração Executar como para si mesmo ou para qualquer entidade de serviço no espaço de trabalho no qual você tem a função Usuário da Entidade de Serviço. Para obter mais informações, consulte Funções para gerenciar entidades de serviço.

Nota

Quando a RestrictWorkspaceAdmins configuração em um espaço de trabalho é definida como ALLOW ALL, os administradores do espaço de trabalho também podem alterar a configuração Executar como para qualquer usuário em seu espaço de trabalho. Para restringir os administradores do espaço de trabalho a alterar apenas a configuração Executar como para si mesmos ou para as entidades de serviço nas quais eles têm a função Usuário Principal do Serviço, consulte Restringir administradores do espaço de trabalho.

Para alterar o campo Executar como, faça o seguinte:

  1. Na barra lateral, clique em Ícone Fluxos de TrabalhoFluxos de trabalho.
  2. Na coluna Nome, clique no nome do trabalho.
  3. No painel lateral Detalhes do trabalho, clique no ícone de lápis ao lado do campo Executar como.
  4. Procure e selecione a entidade de serviço.
  5. Clique em Guardar.

Você também pode listar as entidades de serviço nas quais você tem a função Usuário usando a API de Entidades de Serviço de Espaço de Trabalho. Para obter mais informações, consulte Listar as entidades de serviço que você pode usar.

Executar um trabalho de acordo com um cronograma

Você pode usar uma agenda para executar automaticamente seu trabalho do Azure Databricks em horários e períodos especificados. Consulte Adicionar uma agenda de trabalho.

Executar um trabalho contínuo

Você pode garantir que haja sempre uma execução ativa do seu trabalho. Consulte Executar um trabalho contínuo.

Executar um trabalho quando novos arquivos chegarem

Para acionar uma execução de trabalho quando novos arquivos chegarem a um local ou volume externo do Catálogo Unity, use um gatilho de chegada de arquivo.

Exibir e executar um trabalho criado com um Databricks Asset Bundle

Você pode usar a interface do usuário de Trabalhos do Azure Databricks para exibir e executar trabalhos implantados por um Pacote de Ativos Databricks. Por padrão, esses trabalhos são somente leitura na interface do usuário de Trabalhos. Para editar um trabalho implantado por um pacote, altere o arquivo de configuração do pacote e reimplante o trabalho. A aplicação de alterações somente à configuração do pacote garante que os arquivos de origem do pacote sempre capturem a configuração de trabalho atual.

No entanto, se você precisar fazer alterações imediatas em um trabalho, poderá desconectá-lo da configuração do pacote para habilitar a edição das configurações do trabalho na interface do usuário. Para desconectar o trabalho, clique em Desconectar da origem. Na caixa de diálogo Desconectar da origem, clique em Desconectar para confirmar.

Quaisquer alterações feitas no trabalho na interface do usuário não são aplicadas à configuração do pacote. Para aplicar as alterações feitas na interface do usuário ao pacote, você deve atualizar manualmente a configuração do pacote. Para reconectar o trabalho à configuração do pacote, reimplante-o usando o pacote.

E se o meu trabalho não puder ser executado devido a limites de simultaneidade?

Nota

O enfileiramento é habilitado por padrão quando trabalhos são criados na interface do usuário.

Para evitar que execuções de um trabalho sejam ignoradas devido a limites de simultaneidade, você pode habilitar a fila para o trabalho. Quando a fila está habilitada, se os recursos não estiverem disponíveis para uma execução de trabalho, a execução será enfileirada por até 48 horas. Quando a capacidade está disponível, a execução do trabalho é retirada da fila e executada. As execuções em fila são exibidas na lista de execuções do trabalho e na lista de execuções de trabalho recentes.

Uma execução é enfileirada quando um dos seguintes limites é atingido:

  • O máximo de ativos simultâneos é executado no espaço de trabalho.
  • A tarefa simultânea Run Job máxima é executada no espaço de trabalho.
  • O máximo de execuções simultâneas do trabalho.

Enfileiramento é uma propriedade de nível de trabalho que enfila é executada apenas para esse trabalho.

Para habilitar ou desabilitar a fila, clique em Configurações avançadas e clique no botão de alternância Fila no painel lateral Detalhes do trabalho.