Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автозагрузчик поэтапно и эффективно обрабатывает новые файлы данных по мере их поступления в облачное хранилище без дополнительной настройки.
Как работает автозагрузчик?
Автозагрузчик поэтапно и эффективно обрабатывает новые файлы данных по мере их поступления в облачное хранилище. Он предоставляет источник потоковой передачи под названием cloudFiles
, который является структурированным. При наличии пути к входному каталогу в облачном хранилище файлов источник cloudFiles
автоматически обрабатывает новые файлы по мере их поступления, при этом также обрабатывает существующие файлы в этом каталоге. Автозагрузчик поддерживает как Python, так и SQL в декларативных конвейерах Lakeflow.
Автозагрузчик можно использовать для обработки миллиардов файлов, чтобы перенести данные или выполнить дозаполнение таблицы. Автозагрузчик масштабируется для поддержки приема миллионов файлов в час почти в реальном времени.
Поддерживаемые источники автозагрузчика
Автозагрузчик может загружать файлы данных из следующих источников:
Amazon S3 (
s3://
)Azure Data Lake Storage (ADLS,
abfss://
)Google Cloud Storage (GCS,
gs://
)Хранилище BLOB-объектов Azure (
wasbs://
)Примечание.
Устаревший драйвер Windows Azure Storage Blob (WASB) объявлен нерекомендуемым. ABFS имеет множество преимуществ по сравнению с WASB. См. документацию Azure по ABFS. Документацию по работе с устаревшим драйвером WASB см. в статье Подключение к Хранилищу BLOB-объектов Azure с использованием WASB (устаревшее решение).
Файловая система Databricks (DBFS,
dbfs:/
).
Автозагрузчик может принимать форматы файлов JSON
, CSV
, XML
, PARQUET
, AVRO
, ORC
, TEXT
и BINARYFILE
.
Как Auto Loader отслеживает прогресс загрузки данных?
По мере обнаружения файлов их метаданные сохраняются в масштабируемом хранилище пар "ключ — значение" (RocksDB) в расположении контрольной точки конвейера Автозагрузчика. Это хранилище пар "ключ — значение" гарантирует, что данные обрабатываются только один раз.
В случае сбоев Auto Loader может возобновить работу с того места, где остановился, используя информацию, хранящуюся в месте контрольной точки, и продолжать обеспечивать гарантию точной одноразовой записи данных в Delta Lake. Вам не нужно поддерживать или управлять каким-либо состоянием самостоятельно, чтобы обеспечить отказоустойчивость или точно один раз семантику.
Добавочное прием с помощью автозагрузчика с декларативными конвейерами Lakeflow
Databricks рекомендует Auto Loader в декларативных конвейерах Lakeflow для добавочного приема данных. Декларативные конвейеры Lakeflow расширяют функциональные возможности Apache Spark Structured Streaming и позволяют написать всего несколько строк декларативного кода Python или SQL для развертывания высококачественного производственного конвейера данных.
- Автомасштабирование вычислительной инфраструктуры для экономии затрат.
- Проверки качества данных с ожиданиями.
- Автоматическое управление эволюцией схемы
- Мониторинг с помощью метрик в журнале событий.
Не нужно предоставлять расположение схемы или контрольной точки, так как Декларативные конвейеры Lakeflow автоматически управляют этими параметрами для конвейеров. См . раздел "Загрузка данных с декларативными конвейерами Lakeflow".
Databricks также рекомендует Auto Loader при использовании структурированной потоковой передачи Apache Spark для приема данных из облачного хранилища объектов. API доступны в Python и Scala.
Как начать работу с автозагрузчиком Databricks
Ознакомьтесь со следующими статьями, чтобы приступить к настройке добавочного приема данных с помощью автозагрузчика с декларативными конвейерами Lakeflow:
- Руководство по созданию конвейера ETL с помощью декларативных конвейеров Lakeflow
- Подключение данных из Azure Data Lake Storage
Примеры. Распространенные шаблоны автозагрузчика
Примеры распространенных шаблонов автозагрузчика см. в разделе Общие шаблоны загрузки данных.
Настройка параметров автозагрузчика
Автозагрузчик можно настроить на основе объема данных, разнообразия и скорости.
Полный список параметров автозагрузчика см. в статье:
Если вы столкнулись с неожиданной производительностью, ознакомьтесь с часто задаваемыми вопросами.
Настройка режимов обнаружения файлов автозагрузчика
Автозагрузчик поддерживает два режима обнаружения файлов. См.
- Потоки автозагрузчика с режимом перечисления каталогов
- Настройка потоков автозагрузчика в режиме уведомлений о файлах
Преимущества использования автозагрузчика при использовании структурированной потоковой передачи непосредственно из файлов
В Apache Spark можно выполнять добавочное чтение файлов с помощью spark.readStream.format(fileFormat).load(directory)
. Автозагрузчик обеспечивает следующие преимущества по сравнению с источником файлов.
- Масштабируемость — Автозагрузчик может эффективно обнаруживать миллиарды файлов. Операции обратного заполнения могут выполняться асинхронно, чтобы вычислительные ресурсы не тратились впустую.
- Производительность — стоимость обнаружения файлов с помощью Автозагрузчика зависит от количества принимаемых файлов, а не от количества каталогов, в которых эти файлы могут находиться. См. статью "Потоки автозагрузчика" с режимом перечисления каталогов.
- Поддержка вывода схемы и эволюции: автозагрузчик может обнаруживать смещения схем, уведомлять вас о том, когда происходят изменения схемы, и спасать данные, которые были бы в противном случае проигнорированы или потеряны. См. Как работает вывод схемы автозагрузчика?.
- Стоимость: автозагрузчик использует собственные облачные API для получения списков файлов, существующих в хранилище. Кроме того, режим уведомлений о файлах автозагрузчика может помочь сократить затраты на облако, избегая перечисления каталогов в целом. Автозагрузчик может автоматически настроить службы уведомлений о файлах в хранилище, чтобы сделать обнаружение файлов гораздо дешевле.