Partilhar via


Acionar tarefas quando chegam novos ficheiros

Você pode usar gatilhos de chegada de arquivos para disparar uma execução de seu trabalho quando novos arquivos chegarem em um local externo , como o Amazon S3, o armazenamento do Azure ou o Google Cloud Storage. Esse recurso é útil quando a eficiência de um trabalho agendado é comprometida por novas chegadas irregulares de dados.

Como funcionam os gatilhos de chegada de arquivos?

Os gatilhos de chegada de arquivos fazem um esforço melhor para verificar se há novos arquivos a cada minuto, embora isso possa ser afetado pelo desempenho do armazenamento em nuvem subjacente. Os gatilhos de chegada de arquivos não incorrem em custos adicionais, além dos custos do provedor de nuvem associados à listagem de arquivos no local de armazenamento.

Um gatilho de chegada de arquivo pode ser configurado para monitorar a raiz de um local ou volume externo do Catálogo Unity ou um subcaminho de um local ou volume externo. Por exemplo, para o volume /Volumes/mycatalog/myschema/myvolume/ do Catálogo Unity, os seguintes caminhos são válidos para um evento de chegada de ficheiros:

/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/

Um gatilho de chegada de arquivo verifica recursivamente se há novos arquivos em todos os subdiretórios do local configurado. Por exemplo, você cria um gatilho de chegada de arquivo para o local /Volumes/mycatalog/myschema/myvolume/mydirectory/ e esse local tem os seguintes subdiretórios:

/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD

O gatilho verifica se há novos arquivos em mydirectory, subdirA, subdirB, subdirCe subdirC/subdirD.

Disparadores de chegada de ficheiro com eventos de ficheiro

Para um desempenho ideal, o local externo deve ser habilitado para eventos de arquivo. Quando os eventos de arquivo são habilitados para um local externo, o Azure Databricks usa um serviço interno para rastrear metadados de ingestão processando notificações de alteração de provedores de nuvem. Este serviço retém os metadados dos ficheiros mais recentes criados ou atualizados durante um período de retenção contínua determinado pelo serviço, melhorando a eficiência do processamento de ficheiros.

Em poucos minutos após habilitar eventos de arquivo em um local externo, os gatilhos de chegada de arquivos existentes que monitoram caminhos cobertos por esse local externo começam a se beneficiar da ativação de eventos de arquivo e os novos gatilhos se beneficiam em segundos.

Para obter mais informações sobre as vantagens de desempenho e capacidade de eventos de arquivo em locais externos, consulte Limitações.

Antes de começar

São necessários os seguintes elementos para utilizar os gatilhos de chegada de ficheiros:

Adicionar um gatilho de chegada de arquivo

Para adicionar um trigger de chegada de ficheiro a um trabalho:

  1. Na barra lateral do espaço de trabalho do Azure Databricks, clique em Trabalhos & Pipelines.
  2. Opcionalmente, selecione os filtros Trabalhos e Propriedade de mim .
  3. Clique no link Nome da sua vaga.
  4. No painel Detalhes do trabalho à direita, clique em Adicionar gatilho.
  5. Em Tipo de gatilho, selecione Chegada de arquivo.
  6. Em Local de armazenamento, insira a URL da raiz ou de um subcaminho de um local externo do Catálogo Unity ou a raiz ou um subcaminho de um volume do Catálogo Unity a ser monitorado.
  7. (Opcional) Configure opções avançadas:
    • Tempo mínimo entre gatilhos em segundos: o tempo mínimo de espera para acionar uma execução após a conclusão de uma execução anterior. Os arquivos que chegam nesse período acionam uma execução somente depois que o tempo de espera expira. Use essa configuração para controlar a frequência de criação de execução.
    • Tempo de espera em segundos após a última alteração: O tempo de espera para iniciar uma execução após a chegada do arquivo. Chegada de outro ficheiro durante este período reinicia o temporizador. Essa configuração pode ser usada quando os arquivos chegam em lotes, e todo o lote precisa ser processado depois que todos os arquivos chegarem.
  8. Para validar a configuração, clique em Testar conexão.
  9. Clique em Guardar.

Receber notificações de falhas nos acionadores de chegada de ficheiros

Para receber notificações se um acionador de chegada de ficheiros falhar na avaliação, configure notificações de destino por e-mail ou do sistema sobre falhas nas tarefas. Consulte Adicionar notificações numa tarefa.

Limitações

  • O caminho usado para um gatilho de chegada de arquivo não deve conter tabelas externas ou locais gerenciados de catálogos e esquemas.
  • O caminho usado para um gatilho de chegada de arquivo não pode conter curingas, por exemplo, * ou ?.
  • Se o local de armazenamento estiver configurado como um local externo no Unity Catalog e esse local externo estiver habilitado para eventos de arquivo:
    • Pode-se configurar até 1.000 trabalhos com um gatilho de chegada de arquivo no ambiente Azure Databricks.
    • Não há limites para o número de arquivos no local de armazenamento.
    • Quando os gatilhos monitoram um subcaminho de um local, como um volume externo, o número de alterações no local de origem pode fazer com que o gatilho ultrapasse o tempo permitido para processar essas alterações. Se isso acontecer, o gatilho entra em estado de erro. Você pode evitar isso configurando o gatilho para monitorar a raiz de um local. Por exemplo, pode-se criar um volume do Unity Catalog no subcaminho, mas configurar o gatilho na raiz do volume.
    • Se um arquivo existente for modificado e seus metadados estiverem fora do período de retenção contínua, essa modificação será tratada como uma nova chegada de arquivo, acionando uma execução de trabalho. Você pode evitar isso ingerindo apenas arquivos imutáveis, ou você pode usar gatilhos de chegada de arquivos com Auto Loader para acompanhar o progresso da ingestão.
  • Se o local de armazenamento não estiver habilitado para eventos de arquivo:
    • Apenas novos arquivos iniciam execuções. A substituição de um arquivo existente por um arquivo com o mesmo nome não aciona uma execução.
    • Um máximo de 50 trabalhos pode ser configurado com um gatilho de chegada de arquivo nesses locais em um espaço de trabalho do Azure Databricks.
    • O local de armazenamento pode conter até 10.000 arquivos. Se o local de armazenamento configurado for um subcaminho de um local ou volume externo do Catálogo Unity, o limite de 10.000 arquivos se aplicará ao subcaminho e não à raiz do local de armazenamento. Por exemplo, a raiz do local de armazenamento pode conter mais de 10.000 arquivos em seus subdiretórios, mas o subdiretório configurado não deve exceder o limite de 10.000 arquivos.

Consulte também Limitações de eventos de arquivo.