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.
O site workspace pode conter até 12.000 trabalhos salvos.
Um trabalho pode conter até 100 tarefas.
Crie e execute jobs com CLI, API ou notebooks
Para saber mais sobre como usar o Databricks CLI para criar e executar um trabalho, consulte O que é o Databricks CLI?
Para saber mais sobre como usar a API de jobs para criar e executar jobs, consulte Trabalhos na referência da API REST.
Para saber como executar e agendar jobs diretamente em um notebook Databricks, consulte Criar e gerenciar jobs de notebook agendados.
Criar um job
Siga um destes procedimentos:
Clique em
fluxo de trabalho na barra lateral e clique em
.
Na barra lateral, clique em
Novo e selecione Job.
A tarefa tab aparece com a caixa de diálogo create tarefa (criar tarefa) junto com o painel lateral Job details (detalhes da tarefa) que contém as configurações no nível do trabalho.
Substitua New Job pelo nome do trabalho.
Insira um nome para a tarefa no campo Nome da tarefa.
No menu suspenso Type (Tipo ), selecione o tipo de tarefa a ser executada. Consulte Opções de tipo de tarefa.
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 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 clusters todo-propósito existente no menu compute dropdown.
Novo cluster Job: Clique em Edit no menu suspenso do cluster e conclua a configuração docluster .
Clusters existentes todo-propósito: Selecione um cluster existente no menu suspenso do cluster. Para abrir o cluster em uma nova página, clique no í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 Databricks com seus jobs.
Para adicionar uma biblioteca dependente, clique em + Add (Adicionar ) ao lado de Dependent biblioteca (Biblioteca dependente). Consulte Configurar biblioteca dependente.
O senhor pode passar parâmetros para sua tarefa. Para obter informações sobre os requisitos de formatação e transmissão de parâmetros, consulte Passar parâmetros para uma tarefa de trabalho em Databricks .
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.
Para configurar opcionalmente uma política de novas tentativas para a tarefa, clique em + Add (Adicionar ) ao lado de Retries (Novas tentativas). Consulte Configurar uma política de repetição para uma tarefa.
Para configurar opcionalmente a duração ou o tempo limite esperado da tarefa, clique em + Add (Adicionar ) ao lado de duração limite. Consulte Configurar um tempo de conclusão esperado ou um tempo limite para uma tarefa.
Clique em Criar.
Depois de criar a primeira tarefa, o senhor pode definir as configurações no nível do trabalho, como notificações, acionadores de trabalho e permissões. Consulte Editar um trabalho.
Para adicionar outra tarefa, clique em no DAG view. Uma cluster opção compartilhada é fornecida se o senhor tiver selecionado sem compute servidor ou configurado um novo Job cluster para 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, o senhor pode definir configurações em nível de trabalho, como notificações, acionadores de trabalho e permissões. Consulte Editar um trabalho. O senhor também pode configurar parâmetros no nível do trabalho que são compartilhados com a tarefa 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 job do Databricks e as opções disponíveis para os diferentes tipos de tarefa:
Notebook: No menu suspenso Source (Fonte ), selecione o espaço de trabalho para usar um Notebook localizado em uma pasta Databricks workspace ou o provedorGit para um Notebook localizado em um repositório remoto Git.
Workspace: utilize o navegador de arquivos para localizar o notebook, clique no nome do notebook e clique em Confirmar.
Git provedor: Clique em Edit ou Add a git reference e insira as informações do repositório Git. Consulte Usar um Notebook de um repositório Git remoto.
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.
Spark-submit não é compatível com cluster autoscale. Para saber mais sobre autoscale, consulte autoscale de cluster.
Spark-submit não é compatível com a referênciaDatabricks utilidades (dbutils). Para usar Databricks utilidades, 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 O trabalho de streaming nunca deve ter a execução máxima concorrente definida como maior que 1. transmissão O trabalho deve ser definido para execução usando a expressão cron
"* * * * * ?"
(a cada minuto). Como a tarefa de transmissão é executada continuamente, ela deve ser sempre a tarefa final em um trabalho.
Python script: No menu suspenso Source (Fonte ), selecione um local para o script Python, seja workspace para um script no site local workspace, DBFS para um script localizado em DBFS, ou Git provider para um script localizado em um repositório Git. Na caixa de texto Path (Caminho ), digite 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
.Git provedor: Clique em Edit (Editar ) e digite o endereço Git repositório informação. Consulte Usar código Python de um repositório Git remoto.
Delta Live Tables pipeline: No menu suspenso do pipeline, selecione um pipeline existente. Delta Live Tables pipeline.
Importante
O senhor pode usar apenas o pipeline acionado com a tarefa de pipeline. O pipeline contínuo não é suportado como uma tarefa de trabalho. Para saber mais sobre pipeline acionado e contínuo, consulte Execução contínua vs. acionada em pipeline .
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
A SQL tarefa requer Databricks SQL e um serverless ou pro SQL warehouse.
Consulta: No menu suspenso SQL query, selecione a consulta a ser executada quando a tarefa for executada.
Painel legado: No menu suspenso SQL dashboard, selecione um dashboard a ser atualizado quando a tarefa for executada.
alerta: No menu suspenso SQL alerta, selecione um alerta para acionar a avaliação.
Arquivo: para usar um arquivo SQL localizado em uma pasta Databricks workspace , no menu suspenso Source (Fonte ), selecione workspace (espaço de trabalho), use o navegador de arquivos para localizar o arquivo SQL, clique no nome do arquivo e clique em Confirm (Confirmar). Para usar um arquivo SQL localizado em um repositório Git remoto, selecione o provedor Git, clique em Editar ou Adicionar uma referência git e insira os detalhes do repositório Git. Consulte Usar consultas SQL de um repositório Git remoto.
No menu suspenso SQL warehouse menu suspenso, selecione um serverless ou pro SQL warehouse para executar a tarefa.
dbt: Consulte Use dbt transformações in a Databricks Job para obter um exemplo detalhado de configuração de uma tarefa dbt.
execução Job: No menu suspenso Job menu suspenso, selecione um trabalho a ser executado pela tarefa. Para procurar o trabalho a ser executado, comece a digitar o nome do trabalho 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 tarefasRun Job
. As dependências circulares são tarefas deRun 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êsRun 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 trabalho com a tarefa de condição If/else.Para cada um: Para saber como usar a tarefa
For each
, consulte execução a parameterized Databricks Job tarefa in a loop.
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 o contexto sobre a execução atual entre a tarefa do trabalho, como a hora de início do trabalho ou o identificador da execução do trabalho atual, use referências de valores dinâmicos. Para view uma lista de referências de valores dinâmicos disponíveis, clique em Browse dynamic values (Procurar valores dinâmicos).
Se os parâmetros do trabalho estiverem configurados no trabalho ao qual a tarefa pertence, esses parâmetros serão exibidos quando o senhor adicionar parâmetros de tarefa. Se os parâmetros Job e tarefa compartilharem um key, o parâmetro Job terá precedência. Um aviso será exibido na interface do usuário se o senhor tentar adicionar um parâmetro de tarefa com o mesmo key que um parâmetro de trabalho. Para passar parâmetros de trabalho para a tarefa que não estejam configurados com parâmetros key-value, como JAR
ou Spark Submit
tarefa, formate os argumentos como {{job.parameters.[name]}}
, substituindo [name]
pelo key
que identifica o parâmetro.
Notebook: Clique em Add (Adicionar ) e especifique o endereço key e o valor de cada parâmetro a ser passado para a tarefa. O senhor 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 Notebook especificado pelo key do parâmetro.
JAR: use uma matriz de strings formatada em JSON para especificar parâmetros. Esses strings são passados como argumentos para o método principal da classe principal. Consulte Configuração dos parâmetros do trabalho 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 Usar um arquivo Python wheel em um trabalho Databricks .
execução Job: Digite o endereço key e o valor de cada parâmetro do Job a ser passado para o Job.
Script Python: Use uma matriz de strings formatada em JSON para especificar parâmetros. Esses strings são passados como argumentos e podem ser lidos como argumentos posicionais ou analisados usando o módulo argparse em Python. Para ver um exemplo de leitura de argumentos posicionais em um script Python, consulte o passo 2: Criar um script para buscar dados 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
Alguns tipos de tarefa, por exemplo, tarefas do notebook, permitem que você copie o caminho do código-fonte da tarefa:
Clique na aba Tarefas.
Selecione a tarefa que contém o caminho para copiar.
Clique em
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
O senhor pode criar rapidamente um novo Job clonando um Job existente. A clonagem de um trabalho cria uma cópia idêntica do trabalho, exceto pelo ID do trabalho. Na página do trabalho, clique em More ... (Mais ) ao lado do nome do trabalho e selecione Clone (Clonar ) no menu suspenso.
Criar uma tarefa a partir de uma tarefa existente
Você pode criar uma nova tarefa rapidamente clonando uma tarefa existente:
Na página do job, clique na aba Tarefas.
Selecione a tarefa a clonar.
Clique em
e selecione Clone task (Clonar tarefa).
Excluir um job
Para excluir um trabalho, na página do trabalho, clique em More ... (Mais ) ao lado do nome do trabalho e selecione Delete (Excluir ) no menu suspenso.
Excluir uma tarefa
Para excluir uma tarefa:
Clique na aba Tarefas.
Selecione a tarefa a ser excluída.
Clique em
e selecione Remove task (Remover tarefa).
Executar um job
Clique em
fluxo de trabalho na barra lateral.
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 trabalho com várias tarefas não forem bem-sucedidas, o senhor poderá reexecutar o subconjunto de tarefas mal-sucedidas. Veja Re-execução falhou e tarefa pulada.
Execute um job imediatamente
Para executar o trabalho imediatamente, clique em .
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
O senhor não poderá substituir os parâmetros do trabalho se um trabalho que foi executado antes da introdução dos parâmetros do trabalho substituir os parâmetros do trabalho com o mesmo key.
Clique em
ao lado de executar Now e selecione executar Now with Different Parameters ou, na tabela Active execution, clique em executar Now with Different Parameters. Insira os novos parâmetros de acordo com o tipo de tarefa. Consulte Passar parâmetros para uma tarefa do Databricks Job.
Clique em Executar.
Executar um job como entidade de serviço
Observação
Se o seu trabalho 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 trabalho seja executado 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 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 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 site workspace a alterar a configuração executar como somente para eles próprios 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 site workspace .
Para alterar a execução como campo, faça o seguinte:
Na barra lateral, clique em
fluxo de trabalho.
Na coluna Nome, clique no nome do cargo.
No painel lateral Detalhes do job, clique no ícone de lápis ao lado do campo Executar como.
Procure e selecione a entidade de serviço.
Clique em Salvar.
Também é possível listar a entidade de serviço na qual o senhor tem a função de usuário usando o espaço de trabalho entidade de serviço API. Para obter mais informações, consulte Listar a entidade de serviço que o senhor pode usar.
Execute um job em uma programação
O senhor pode usar um programar para executar automaticamente seu Databricks Job em horários e períodos específicos. Consulte Adicionar um programa de trabalho.
Executar um job contínuo
O senhor pode garantir que haja sempre uma execução ativa do seu trabalho. Ver execução de um trabalho contínuo.
Executar um job quando chegarem novos arquivos
Para acionar a execução de um Job quando novos arquivos chegarem a um local ou volume externo Unity Catalog, use um acionador de chegada de arquivo.
Visualizar e executar um Job criado com um Databricks ativo Bundle
O senhor pode usar a UI Databricks Jobs para view e executar o Job implantado por um Bundle ativoDatabricks . Em default, esses trabalhos são somente leitura na UI 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 apenas na configuração do pacote garante que os arquivos de origem do pacote sempre capturem a configuração atual do trabalho.
No entanto, se precisar fazer alterações imediatas em um Job, o senhor pode 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 trabalho, clique em Disconnect from source (Desconectar da fonte). Na caixa de diálogo Disconnect from source (Desconectar da fonte ), clique em Disconnect para confirmar.
As alterações que o senhor fizer no 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 trabalho à configuração do pacote, reimplante o trabalho usando o pacote.
E se meu trabalho 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 trabalho seja ignorada devido aos limites de simultaneidade, o senhor pode ativar o enfileiramento para o trabalho. Quando o enfileiramento estiver ativado, se os recursos não estiverem disponíveis para a execução de um 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 Job e na lista de execuções recentes do Job.
Uma execução é colocada na fila quando um dos seguintes limites é atingido:
O máximo de execução ativa concorrente no site workspace.
A tarefa máxima concorrente
Run Job
executada no site workspace.A execução máxima concorrente do trabalho.
O enfileiramento é uma propriedade de nível de trabalho que enfileira a execução somente para esse trabalho.
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 ).