Criar e executar jobs do Databricks

Este artigo detalha como criar e executar jobs do Databricks usando a interface do usuário do Jobs.

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

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

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

Importante

  • Um workspace é limitado a 1000 execuções de tarefas simultâneas. Será retornada a resposta 429 Too Many Requests se você solicitar uma execução que não puder ser iniciada 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.

Crie e execute jobs com CLI, API ou notebooks

Criar um job

  1. Faça uma das seguintes opções:

    • Clique Ícone de jobs fluxo de trabalho na barra lateral e clique Botão Criar job.

    • Na barra lateral, clique em Novo ícone Novo e selecione Job.

    O site Tasks tab aparece com a caixa de diálogo create tarefa (criar tarefa) junto com o painel lateral Job details (detalhes ) que contém as configurações de nível Job.

    Crie a tela Job
  2. Substitua New Job... pelo seu nome Job.

  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 site cluster onde a tarefa será executada. Por default, serverless compute é selecionado se o seu workspace estiver em um Unity Catalog habilitado workspace e o senhor tiver selecionado uma tarefa suportada por serverless compute para fluxo de trabalho. Veja a execução de seu Databricks Job com serverless compute para fluxo de trabalho. Se o site serverless compute não estiver disponível ou se o senhor quiser usar um tipo diferente de compute, poderá selecionar um novo Job cluster ou um cluster todo-propósito existente no menu compute dropdown menu.

    • Novos Job clusters:clique em Editar no menu suspenso clusters clusters e conclua a configuração.

    • Clusters existentes todo-propósito: Selecione um clusters existente no menu suspenso clusters . Para abrir os clusters em uma nova página, clique no botão Link externo ícone à direita do nome e da descrição dos clusters .

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

  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 Job do Databricks.

  8. Para receber notificações opcionais de início, sucesso ou falha da tarefa, clique em + Add (Adicionar ) ao lado de Emails. As notificações de falha são enviadas na falha inicial da tarefa e em todas as 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 nova tentativa.

  9. Para configurar opcionalmente uma política de novas tentativas para a tarefa, clique em + Adicionar ao lado de Novas tentativas. Consulte Configurar uma política de nova tentativa 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 as configurações de nível de Job , como notificações, acionadores de Job e permissões. Consulte Editar um Job.

Para adicionar outra tarefa, clique em Botão Adicionar tarefa no DAG view. Uma opção cluster compartilhada é fornecida se o senhor tiver selecionado ou configurado uma serverless compute ou configurado um New Job clusterpara uma tarefa anterior. O senhor também pode configurar um cluster para cada tarefa ao criar ou editar uma tarefa. Para saber mais sobre como selecionar e configurar o site clusters para executar tarefas, consulte Use Databricks compute with your Job.

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

Opções de tipo de tarefa

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

  • Notebook: no menu suspenso Fonte , selecione Workspace para usar um notebook localizado em uma pasta de workspace do Databricks ou provedor Git para um notebook localizado em repositórios Git remotos.

    Workspace: utilize o navegador de arquivos para localizar o notebook, clique no nome do notebook e clique em Confirmar.

    Provedor Git: Clique em Editar ou Adicionar uma referência git e insira os repositórios informações do Git. Consulte Usar um Notebook de repositórios Git remotos.

    Observação

    A saída total da célula do notebook (a saída combinada de todas as células do notebook) está sujeita a um limite de tamanho de 20 Mb. Além disso, a saída de células individuais está sujeita a um limite de tamanho de 8 MB. 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 encontrar células próximas ou além do limite, execute o notebook em um cluster multiuso e use essa técnica de salvamento automático do notebook.

  • JAR: especifique a classe principal. Utilize o nome completamente 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 job do Databricks.

  • Envio do Spark: 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 nas tarefas de envio por meio do spark-submit:

    • Você pode executar tarefas de envio do spark somente em novos clusters.

    • O envio do Spark não oferece suporte clusters autoscale. Para saber mais sobre autoscale, consulte clusters autoscale.

    • O Spark-submit não oferece suporte à referência do Databricks russas (dbutils). Para usar Databricks russas, use JAR tarefa.

    • Se você estiver usando clusters habilitados para Unity Catalog, o envio de faísca é suportado apenas se os clusters usarem o modo de acesso atribuído. O modo de acesso compartilhado não é suportado.

    • Spark streaming Job nunca deve ter execução simultânea máxima definida como maior que 1. transmissão Job deve ser definido para execução usando a expressão cron "* * * * * ?" (a cada minuto). Porque uma tarefa de transmissão é executada continuamente, ela deve ser sempre a tarefa final em um Job.

  • Script Python: no menu suspenso Fonte , selecione um local para o script Python, seja workspace para um script no workspace local, DBFS para um script localizado no DBFS ou provedor Git para um script localizado em um repositório Git. Na caixa de texto Caminho , insira o caminho para o script Python:

    Workspace: na caixa de diálogo Selecionar arquivo Python, navegue até o script Python e clique em Confirmar.

    DBFS: insira o URI de um script do Python no DBFS ou 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.

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

    Importante

    Você pode usar apenas pipelines acionados com a tarefa Pipeline . pipeline contínuo não é suportado como uma tarefa de Job . Para saber mais sobre pipelines acionados e contínuos, consulte Execução de pipeline contínua x acionada.

  • Python wheel: Na caixa de texto pacote name (nome do pacote ), digite o pacote a ser importado, por exemplo, myWheel-1.0-py2.py3-none-any.whl. Na caixa de texto Entry Point (Ponto de entrada ), digite a função a ser chamada ao iniciar o arquivo Python wheel. Clique em Add (Adicionar ) em Dependent biblioteca (Biblioteca dependente ) para adicionar a biblioteca necessária para executar a tarefa.

  • SQL: No menu suspenso SQL tarefa, selecione Query (Consulta), Legacy dashboard (Painel legado), alerta ou File (Arquivo).

    Observação

    Consulta: No menu suspenso Consulta SQL , selecione a consulta a ser executada durante a execução da tarefa.

    Painel legado: No menu suspenso SQL dashboard, selecione um dashboard a ser atualizado quando a tarefa for executada.

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

    Arquivo: para usar um arquivo SQL localizado em uma pasta workspace do Databricks, no menu suspenso Fonte , selecione workspace, 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 repositórios Git remotos, selecione Provedor Git, clique em Editar ou Adicionar uma referência git e insira os detalhes dos repositórios Git. Consulte Usar consultas SQL de repositórios Git remotos.

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

  • dbt: consulte Usar transformações dbt em um Jobdo Databricks para obter um exemplo detalhado de configuração de uma tarefa dbt.

  • Jobde execução: No menu suspenso Job , selecione um Job a ser executado pela tarefa. Para pesquisar o Job a ser executado, comece digitando o nome Job no menu Job .

    Importante

    Você não deve criar jobs com dependências circulares ao usar a tarefa Run Job ou jobs que aninhem mais de três tarefas Run Job. As dependências circulares são tarefas de Run Job que acionam de forma direta ou indireta uns aos outros. Por exemplo, o job A aciona o job B e o job B aciona o job A. A Databricks não oferece suporte a jobs com dependências circulares ou que aninhem mais de três Run Job tarefas e talvez não permita a execução desses jobs em versões futuras.

  • If/else: para saber como usar a tarefa If/else condition, consulte Adicionar lógica de ramificação ao seu Job com a tarefa de condição If/else.

Passar parâmetros para uma tarefa de trabalho do Databricks

Você pode passar parâmetros para vários tipos de tarefas de trabalho. Cada tipo de tarefa tem requisitos diferentes para formatação e aprovação dos 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 Job , como a hora de início do Job ou o identificador da execução do Job atual, utilize referências de valores dinâmicos. Para view uma lista de referências de valores dinâmicos disponíveis, clique em Procurar valores dinâmicos.

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

  • Notebook: clique em Adicionar e especifique a key 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 Job com parâmetros diferentes . Os parâmetros definem o valor do widgetNotebook especificado pela key do parâmetro.

  • JAR: Use uma matriz de strings formatadas em JSON para especificar parâmetros. Essas strings são passadas como argumentos para o método principal da classe principal. Consulte Configurando os Parâmetros Job JAR.

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

  • Python wheel: No menu suspenso Parameters (Parâmetros ), selecione Positional arguments (Argumentos posicionais ) para inserir parâmetros como uma matriz JSONformatada de strings ou selecione Keyword arguments (Argumentos de palavra-chave) > Add (Adicionar ) para inserir o key e o valor de cada parâmetro. Os argumentos posicionais e de palavra-chave são passados para a tarefa Python wheel como argumentos de linha de comando. Para ver um exemplo de leitura de argumentos em um pacote de scripts Python em um arquivo Python wheel, consulte Use a Python wheel file in a Databricks Job .

  • Jobde execução: Insira a key e o valor de cada parâmetro Job a ser passado para o Job.

  • Script Python: use uma matriz de strings formatada em JSON para especificar parâmetros. Essas strings 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 a etapa 2: Crie um script para buscar dados do GitHub.

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

Copiar um caminho de tarefa

Alguns tipos de tarefa, por exemplo, tarefas do notebook, permitem que você copie o caminho do código-fonte da tarefa:

  1. Clique na aba Tarefas.

  2. Selecione a tarefa que contém o caminho para copiar.

  3. Clique Ícone de cópia de jobs ao lado do caminho da tarefa para copiar o caminho para a área de transferência.

Criar um job a partir de um job existente

Você pode criar rapidamente um novo Job clonando um Job existente. Clonar um Job cria uma cópia idêntica do Job, exceto pelo ID Job . Na página do Job , clique em Mais… ao lado do nome do Jobe selecione Clonar no menu suspenso.

Criar uma tarefa a partir de uma tarefa existente

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

  1. Na página do job, clique na aba Tarefas.

  2. Selecione a tarefa a clonar.

  3. Clique Reticências verticais de jobs e selecione Clonar tarefa.

Excluir um job

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

Excluir uma tarefa

Para excluir uma tarefa:

  1. Clique na aba Tarefas.

  2. Selecione a tarefa a ser excluída.

  3. Clique Reticências verticais de jobs e selecione Remover tarefa.

Executar um job

  1. Clique Ícone de jobs fluxo de trabalho na barra lateral.

  2. Selecione um job e clique na aba Execuções . Você pode executar um job imediatamente ou agendar o job para ser executado mais tarde.

Se uma ou mais tarefas em um Job com múltiplas tarefas não forem bem sucedidas, você poderá reexecutar o subconjunto de tarefas malsucedidas. Veja Re-execução falhou e tarefa ignorada.

Execute um job imediatamente

Para executar o Job imediatamente, clique Botão Executar agora.

Dica

Você pode realizar uma execução de teste de um job com uma tarefa do notebook clicando em Executar Agora. Se você precisar fazer alterações no notebook, um clique em Executar Agora novamente após editar o notebook executará automaticamente a nova versão do notebook.

Executar um job com parâmetros diferentes

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

Observação

Você não poderá substituir os parâmetros Job se um Job que foi executado antes da introdução dos parâmetros Job substituiu os parâmetros da tarefa com a mesma key.

  1. Clique Seta azul para baixo próximo a execução Agora e selecione execução Agora com Parâmetros Diferentes ou, na tabela Execução Ativa , clique em execução Agora com Parâmetros Diferentes. Insira os novos parâmetros dependendo do tipo de tarefa. Consulte Passar parâmetros para uma tarefa de Job do Databricks.

  2. Clique em Executar.

Executar um job como entidade de serviço

Observação

Se o senhor Job executar SQL consultas usando a tarefa SQL, a identidade usada para executar as consultas será determinada pelas configurações de compartilhamento de cada consulta, mesmo que o Job execute como uma entidade de serviço. Se uma consulta for configurada como 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 como 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 consultas, consulte Configurar permissões de consulta.

Por padrão, os jobs são executados como a identidade do proprietário do job. Isso significa que o job assume as permissões do proprietário do job. O job só pode acessar dados e objetos do Databricks que o proprietário do job tenha permissão para acessar. Você pode alterar a identidade em que o job está sendo executado em relação à entidade de serviço. Em seguida, o job assume as permissões dessa entidade de serviço em vez do proprietário.

Para alterar a configuração executar como, o senhor deve ter a permissão CAN MANAGE ou IS OWNER no Job. O senhor pode definir a execução como configuração para si mesmo ou para qualquer entidade de serviço no site workspace no qual tenha a função de usuário da entidade de serviço. Para obter mais informações, consulte Funções para gerenciar a entidade de serviço.

Observação

Quando a configuração RestrictWorkspaceAdmins em um workspace é definida como ALLOW ALL, os administradores do workspace também podem alterar a configuração de execução como para qualquer usuário em seu workspace. Para restringir os administradores do espaço de trabalho a alterar a configuração executar como somente para eles mesmos ou para a entidade de serviço na qual eles têm a função de usuário da entidade de serviço, consulte Restringir administradores do espaço de trabalho.

Para alterar a execução como campo, faça o seguinte:

  1. Na barra lateral, clique em Ícone de jobs fluxo de trabalho.

  2. Na coluna Nome, clique no nome do cargo.

  3. No painel lateral Detalhes do job, clique no ícone de lápis ao lado do campo Executar como.

  4. Procure e selecione a entidade de serviço.

  5. Clique em Salvar.

Você também pode listar a entidade de serviço para a qual você tem a função de Usuário ao usar a API da workspace entidade de serviço. Para mais informações, consulte Listar as entidades de serviço que pode utilizar.

Execute um job em uma programação

Você pode usar um programar para executar automaticamente seu Job do Databricks em horários e períodos especificados. Consulte Adicionar um programador Job .

Executar um job contínuo

Você pode garantir que sempre haja uma execução ativa do seu Job. Veja a execução de um Jobcontínuo.

Executar um job quando chegarem novos arquivos

Para acionar uma execução do Job quando novos arquivos chegarem a um local ou volume externo do Unity Catalog, use um acionador de chegada de arquivo.

view e executar um Job criado com um Databricks ativo Bundle

O senhor pode usar a interface do usuário Databricks Jobs para view e executar o Job implantado por um Bundle ativoDatabricks . Em default, esses trabalhos são somente leitura na interface do usuário de trabalhos. Para editar um Job implantado por um pacote, altere o arquivo de configuração do pacote e reimplante o Job. A aplicação de alterações apenas na configuração do pacote garante que os arquivos de origem do pacote sempre capturem a configuração atual do site Job.

No entanto, se o senhor precisar fazer alterações imediatas em um Job, poderá desconectar o Job da configuração do pacote para permitir a edição das configurações do Job na interface do usuário. Para desconectar o Job, clique em Disconnect from source (Desconectar da fonte). Na caixa de diálogo Disconnect from source (Desconectar da fonte ), clique em Disconnect para confirmar.

Todas as alterações que o senhor fizer em Job na interface do usuário não serão aplicadas à configuração do pacote. Para aplicar as alterações feitas na interface do usuário ao pacote, o senhor deve atualizar manualmente a configuração do pacote. Para reconectar o Job à configuração do pacote, reimplante o Job usando o pacote.

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

Observação

O enfileiramento é ativado pelo site default quando o trabalho é criado na interface do usuário.

Para evitar que a execução de um Job seja ignorada devido a limites de simultaneidade, você pode ativar o enfileiramento para o Job. Quando o enfileiramento está habilitado, se os recursos estiverem indisponíveis para uma execução Job , a execução fica na fila por até 48 horas. Quando a capacidade estiver disponível, a execução Job será retirada da fila e executada. As execuções em fila são exibidas na lista de execução do Job e na lista de execução Job recente.

Uma execução é colocada na fila quando um dos seguintes limites é atingido:

  • A execução ativa simultânea máxima no workspace.

  • A execução máxima de tarefas simultâneas Run Job no workspace.

  • A execução simultânea máxima do Job.

Queuing é uma propriedade em nível de Jobque enfileira a execução apenas para esse Job.

Para ativar ou desativar o enfileiramento, clique em Advanced settings (Configurações avançadas ) e clique no botão de alternância Queue (Enfileirar ) no painel lateral Job details (Detalhes do trabalho ).