Migrar para o Auto Loader com eventos de arquivo
Se você tiver transmissões existentes Auto Loader que descobrem arquivos usando listagem de diretórios ou notificações legadas, você pode migrá-los para Auto Loader com eventos de arquivo.
Migrar da listagem de diretório
Para migrar uma transmissão Auto Loader usando a listagem de diretórios para eventos de arquivo:
- Confirme se os pré-requisitos para eventos de arquivo foram atendidos.
- Confirme se o caminho de carregamento está em um local externo com eventos de arquivo habilitados e se os eventos de arquivo funcionam conforme o esperado.
- Modifique seu código de transmissão para definir
cloudFiles.useManagedFileEventscomotrue. Continue usando o mesmo local do ponto de verificação. - Remova todas as configurações não suportadas do seu código de transmissão.
- Reinicie sua transmissão. Na primeira execução com eventos de arquivo habilitados, Auto Loader realiza uma listagem de diretórios para ficar atualizado com o cache de eventos de arquivo (garantir uma posição de leitura válida no cache e armazená-la no ponto de verificação da transmissão). A execução subsequente lê diretamente do cache de eventos do arquivo. Veja Auto Loader com visão geral de eventos de arquivo.
Para migrar uma transmissão Auto Loader de eventos de arquivo de volta para a listagem de diretório:
- Remova a opção
cloudFiles.useManagedFileEventsdo seu código de transmissão. - Reinicie sua transmissão.
Migrar de notificações de arquivos legados
Dados de origem no S3
O S3 não permite configurações de notificação de eventos com prefixos sobrepostos. Se os seus dados de origem estiverem no S3, você deverá primeiro desmontar as configurações de notificação de eventos existentes.
Notificações de arquivo legado para eventos de arquivo (S3)
Para migrar uma transmissão Auto Loader consumindo dados do S3 usando notificações de arquivo legado para eventos de arquivo:
- Antes de habilitar eventos de arquivo em seus locais externos, interrompa a transmissão do Auto Loader e desative o recurso de notificação associado. Você pode usar a API
tearDownNotificationResourcesdeCloudFilesAWSResourceManager, conforme descrito em Configurar manualmente ou gerenciar recurso de notificação de arquivo. - Confirme se os pré-requisitos para eventos de arquivo foram atendidos.
- Confirme se o caminho de carregamento está em um local externo com eventos de arquivo habilitados e se os eventos de arquivo funcionam conforme o esperado.
- Modifique seu código de transmissão para definir
cloudFiles.useManagedFileEventscomotrue. Continue usando o mesmo local do ponto de verificação. - Remova configurações não suportadas do seu código de transmissão.
- Remova opções de notificações específicascloud (como
cloudFiles.queueUrl,databricks.serviceCredentialoucloudFiles.awsAccessKey) do seu código de transmissão. - Reinicie sua transmissão. Na primeira execução com eventos de arquivo habilitados, Auto Loader realiza uma listagem de diretórios para ficar atualizado com o cache de eventos de arquivo (garantir uma posição de leitura válida no cache e armazená-la no ponto de verificação da transmissão). A execução subsequente lê diretamente do cache de eventos do arquivo. Veja Auto Loader com visão geral de eventos de arquivo.
Eventos de arquivo para notificações de arquivo legado (S3)
Para migrar uma transmissão Auto Loader consumindo dados do S3 usando eventos de arquivo para notificações de arquivo legado:
- Pare a transmissão do Auto Loader e desative os eventos de arquivo para o local externo usando a interface do usuário de locais externos. O S3 não permite configurações de notificação de eventos com prefixos sobrepostos. Se você forneceu uma URL de fila ao configurar eventos de arquivo, o Databricks recomenda desfazer sua configuração anterior e criar uma nova configuração de fila para evitar arquivos perdidos.
- Remova a opção
cloudFiles.useManagedFileEventsdo seu código de transmissão. - Defina a opção
cloudFiles.useNotificationscomotrue. - Adicione opções de notificações específicascloud (como
cloudFiles.queueUrl,databricks.serviceCredentialoucloudFiles.awsAccessKey) que são necessárias para que Auto Loader autentique na sua cloud, configure o recurso de notificação e leia da fila. - começar sua transmissão. Se você forneceu a opção
cloudFiles.queueUrl(desde que uma fila pré-configurada), Auto Loader começará a descobrir arquivos usando a fila. Ele também faz uma listagem única de diretórios para garantir que nenhum arquivo foi perdido durante a migração. Se você não forneceu uma fila, Auto Loader tenta criar todos os recursos necessários para notificações. Se você observar uma falha ao reiniciar a transmissão Auto Loader , Databricks pode não ter concluído a exclusão do recurso de notificação criado para eventos de arquivo. Tente novamente em alguns minutos.
Dados de origem no Azure Storage ou Google Cloud Storage
Notificações de arquivo legado para eventos de arquivo (Azure, GCP)
Para migrar uma transmissão Auto Loader consumindo dados do Azure ou GCP usando notificações de arquivo herdadas para eventos de arquivo:
- Confirme se os pré-requisitos para eventos de arquivo foram atendidos.
- Confirme se o caminho de carregamento está em um local externo com eventos de arquivo habilitados e se os eventos de arquivo funcionam conforme o esperado.
- Modifique seu código de transmissão para definir
cloudFiles.useManagedFileEventscomotrue. Continue usando o mesmo local do ponto de verificação. - Remova configurações não suportadas do seu código de transmissão.
- Remova opções de notificações específicascloud (como
cloudFiles.queueName,cloudFiles.subscription,databricks.serviceCredential,cloudFiles.privateKeyoucloudFiles.clientSecret) do seu código de transmissão. - Reinicie sua transmissão. Na primeira execução com eventos de arquivo habilitados, Auto Loader executará uma listagem de diretórios para ficar atualizado com o cache de eventos de arquivo (garantir uma posição de leitura válida no cache e armazená-la no ponto de verificação da transmissão). A execução subsequente lê diretamente do cache de eventos do arquivo. Veja Auto Loader com visão geral de eventos de arquivo.
- Remover recursos de notificação que foram criados pelo Auto Loader quando ele foi executado no modo de notificações de arquivo legado. Você pode usar a API
tearDownNotificationResourcesdeCloudFilesAWSResourceManager, conforme descrito em Configurar manualmente ou gerenciar recurso de notificação de arquivo.
Eventos de arquivo para notificações de arquivo legado (Azure, GCP)
Para migrar uma transmissão Auto Loader consumindo dados do Azure ou GCP usando eventos de arquivo para notificações de arquivo herdadas:
- Remova a opção
cloudFiles.useManagedFileEventsdo seu código de transmissão. - Defina a opção
cloudFiles.useNotificationscomotrue. - Adicione opções de notificações específicascloud (como
cloudFiles.queueName,cloudFiles.subscription,databricks.serviceCredential,cloudFiles.privateKeyoucloudFiles.clientSecret) que são necessárias para que Auto Loader autentique na sua cloud, configure o recurso de notificação e leia da fila. - Reinicie sua transmissão. Se você forneceu as opções
cloudFiles.queueNameoucloudFiles.subscription(desde que uma fila pré-configurada), Auto Loader começará a descobrir arquivos usando a fila. Ele também faz uma listagem única de diretórios para garantir que nenhum arquivo foi perdido durante a migração. Se você não forneceu uma fila, Auto Loader tenta criar todos os recursos necessários para notificações. Se você observar uma falha ao reiniciar a transmissão Auto Loader , Databricks pode não ter concluído a exclusão do recurso de notificação criado para eventos de arquivo. Tente novamente em alguns minutos.