Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Триггеры прибытия файлов можно использовать для активации выполнения задания при поступлении новых файлов во внешнее расположение, например Amazon S3, хранилище Azure или Google Cloud Storage. Эта функция полезна, если эффективность запланированного задания скомпрометирована нерегулярными новыми поступлениями данных.
Как работают триггеры прибытия файлов?
Триггеры прибытия файлов делают все возможное, чтобы проверить наличие новых файлов каждую минуту, хотя это может повлиять на производительность базового облачного хранилища. Триггеры прибытия файлов не влекут за собой дополнительных затрат, кроме затрат поставщика облачных услуг, связанных с перечислением файлов в расположении хранилища.
Триггер прибытия файла можно настроить для отслеживания корневого каталога внешнего местоположения или тома в Unity Catalog или подпути внешнего местоположения или тома. Например, для тома /Volumes/mycatalog/myschema/myvolume/
каталога Unity ниже приведены допустимые пути для триггера прибытия файла:
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
Триггер прибытия файла рекурсивно проверяет наличие новых файлов во всех подкаталогах настроенного расположения. Например, вы создаёте триггер прибытия файла для расположения /Volumes/mycatalog/myschema/myvolume/mydirectory/
, и там имеются следующие подкаталоги:
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD
Триггер проверяет наличие новых файлов в mydirectory
, subdirA
, subdirB
, subdirC
и subdirC/subdirD
.
Триггеры прибытия файла с событиями файлов
Для оптимальной производительности внешнее расположение должно быть активировано для событий файлов. Если события файлов включены для внешнего расположения, Azure Databricks использует внутреннюю службу для отслеживания метаданных загрузки путем обработки уведомлений об изменениях от облачных провайдеров. Эта служба сохраняет метаданные для последних файлов, созданных или обновленных в течение периода хранения, определяемого службой, что повышает эффективность обработки файлов.
В течение нескольких минут после включения событий файлов во внешнем расположении существующие триггеры прибытия файлов, отслеживающие пути, охватываемые этим внешним расположением, начинают использовать активированные события файлов, а новые триггеры начинают работать в течение секунд.
Дополнительные сведения о преимуществах производительности и емкости событий файлов в внешних расположениях см. в разделе "Ограничения".
Перед тем как начать
Для использования триггеров прибытия файла необходимо следующее:
Рабочая область должна иметь включённый в каталоге Unity.
Необходимо использовать расположение хранилища, которое является томом или внешним местоположением, настроенным в каталоге Unity Catalog. См. Что такое тома каталога Unity? и Как создать внешнее расположение для подключения облачного хранилища к Azure Databricks.
Databricks рекомендует включить внешнее расположение для событий управляемого файла. Тома в этих внешних расположениях по умолчанию получают поддержку событий файла. Чтобы включить файловые события, необходимо быть владельцем внешнего расположения или иметь
MANAGE
привилегию на внешнее расположение. Сведения о преимуществах событий файлов см. в разделе "Триггеры прибытия файла" с событиями файлов.Необходимо иметь
READ
разрешение на расположение хранилища и разрешения CAN MANAGE для задания. Дополнительные сведения о разрешениях задания см. в разделе ACL заданий.
Добавление триггера прибытия файла
Чтобы добавить триггер прибытия файла в задание:
- На боковой панели рабочей области Azure Databricks щелкните "Задания и конвейеры".
- При необходимости выберите фильтры "Задания " и " Принадлежащие мне ".
- Щелкните по ссылке с названием вашей работы.
- На панели сведений о задании справа нажмите кнопку "Добавить триггер".
- В Тип триггеравыберите прибытие файла.
- На размещении хранилища введите URL-адрес корня или подпути внешнего расположения каталога Unity или корня или подпути тома каталога Unity, чтобы выполнять мониторинг.
- (Необязательно) Настройка дополнительных параметров:
- Минимальное время между триггерами в секундах: минимальное время ожидания запуска после завершения предыдущего выполнения. Файлы, поступающие в этот период, активируют запуск только после истечения срока ожидания. Используйте этот параметр для управления частотой создания запуска.
- Подождите после последнего изменения в секундах: время ожидания запуска после прибытия файла. Другое прибытие файла в течение этого периода сбрасывает таймер. Этот параметр можно использовать при поступлении файлов в пакеты, а весь пакет должен обрабатываться после поступления всех файлов.
- Чтобы проверить конфигурацию, нажмите кнопку "Проверить подключение".
- Нажмите кнопку Сохранить.
Оповещения о сбоях триггеров на прибытие файлов
Чтобы получать оповещения, если триггеру "При получении файла" не удается выполнить оценку, настройте уведомления по электронной почте или системные уведомления о сбое задания. См. , добавьте уведомления для задания.
Ограничения
- Путь, используемый для триггера прибытия файла, не должен содержать внешние таблицы или управляемые расположения каталогов и схем.
- Путь, используемый для триггера прибытия файла, не может содержать подстановочные знаки, например
*
или?
. - Если расположение хранилища настроено как внешнее расположение в каталоге Unity, а внешнее расположение включено для событий файлов:
- Можно настроить не более 1000 заданий с триггером прибытия файла в рабочей области Azure Databricks.
- Нет ограничений на количество файлов в расположении хранилища.
- Когда триггеры отслеживают подпатку расположения, независимо от того, является ли том внешнего расположения, количество изменений в корневом расположении может привести к превышению допустимого времени для обработки изменений. Если это произойдет, триггер устанавливается в состояние ошибки. Это можно предотвратить, настроив триггер для наблюдения за корнем расположения. Например, можно создать том каталога Unity на подкате, но настроить триггер в корневом каталоге.
- Если существующий файл изменен и его метаданные выходят за пределы скользящего периода хранения, это изменение будет рассматриваться как новое поступление файла, запуская выполнение задания. Это можно предотвратить путем приема только неизменяемых файлов или использовать триггеры прибытия файлов с автозагрузчиком для отслеживания хода приема.
- Если расположение хранилища не активировано в отношении событий файлов:
- Запуски инициируются только новыми файлами. Перезапись существующего файла с тем же именем не запускает выполнение.
- Можно настроить не более 50 заданий с триггером прибытия файла в таких расположениях в рабочей области Azure Databricks.
- Расположение хранилища может содержать до 10 000 файлов. Если настроенное расположение хранилища является подпутем к внешнему расположению или томом в каталоге Unity, ограничение в 10 000 файлов применяется к данному подпутю, а не к корневому каталогу хранилища. Например, корневой каталог расположения хранилища может содержать более 10 000 файлов в его подкаталогах, но настроенный подкаталог не должен превышать 10 000 файлов.
См. также ограничения событий файлов.