Acionar tarefas quando chegam novos ficheiros
Você pode usar gatilhos de chegada de arquivo para disparar uma execução do seu trabalho do Azure Databricks quando novos arquivos chegam em um local externo, como Amazon S3, armazenamento do Azure ou Google Cloud Storage. Pode utilizar esta funcionalidade quando uma tarefa programada pode ser ineficiente porque os novos dados chegam num horário irregular.
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/
raiz do Unity Catalog , os caminhos a seguir são válidos para um gatilho de chegada de arquivo:
/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, se você criar um gatilho de chegada de arquivo para o local /Volumes/mycatalog/myschema/myvolume/mydirectory/
e esse local tiver 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
, subdirC
e subdirC/subdirD
.
Requisitos
O seguinte é necessário para usar gatilhos de chegada de arquivo:
- O espaço de trabalho deve ter o Unity Catalog habilitado.
- Você deve usar um local de armazenamento que seja um volume do Catálogo Unity ou um local externo adicionado ao metastore do Catálogo Unity. Consulte Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks.
- Você deve ter
READ
permissões para o local de armazenamento e PODE GERENCIAR permissões no trabalho. Para obter mais informações sobre permissões de trabalho, consulte ACLs de trabalho.
Limitações
- Apenas novos arquivos são executados. A substituição de um arquivo existente por um arquivo com o mesmo nome não aciona uma execução.
- Um máximo de cinquenta trabalhos pode ser configurado com um gatilho de chegada de arquivo em um espaço de trabalho do Azure Databricks.
- Um local de armazenamento configurado para um gatilho de chegada de arquivo pode conter apenas até 10.000 arquivos. Locais com mais arquivos não podem ser monitorados para novas chegadas de 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.
- O caminho utilizado para um acionador de chegada de ficheiros não deve conter quaisquer tabelas externas ou localizações geridas de catálogos e esquemas.
- O caminho usado para um gatilho de chegada de arquivo não pode conter curingas, por exemplo,
*
ou?
.
Adicionar um gatilho de chegada de arquivo
Para adicionar um gatilho de chegada de arquivo a um trabalho:
- Na barra lateral, clique em Fluxos de trabalho.
- Na coluna Nome na guia Trabalhos, clique no nome do trabalho.
- No painel Detalhes do trabalho à direita, clique em Adicionar gatilho.
- Em Tipo de gatilho, selecione Chegada de arquivo.
- 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.
- (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.
- Aguarde após a última alteração em segundos: o tempo de espera para acionar uma execução após a chegada do arquivo. Outra chegada de arquivo neste período redefine 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.
- Para validar a configuração, clique em Testar conexão.
- Clique em Guardar.
Receber notificações de acionadores de chegada de ficheiros com falhas
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 por e-mail e do sistema para eventos de trabalho.