Что такое автозагрузчик?

Автозагрузчик поэтапно и эффективно обрабатывает новые файлы данных по мере их поступления в облачное хранилище без дополнительной настройки.

Как работает автозагрузчик?

Автозагрузчик поэтапно и эффективно обрабатывает новые файлы данных по мере их поступления в облачное хранилище. Автозагрузчик может загружать файлы данных из AWS S3 (s3://), Azure Data Lake Storage 2-го поколения (ADLS 2-го поколения, abfss://), Google Cloud Storage (GCS, gs://), Хранилище BLOB-объектов Azure (wasbs://), ADLS 1-го поколения(adl://) и Databricks File System (DBFS, dbfs:/). Автозагрузчик может выполнять JSONприем , CSVXML, PARQUET, AVRO, , ORCи TEXTBINARYFILE форматы файлов.

Примечание.

Автозагрузчик предоставляет источник структурированной потоковой передачи с именем cloudFiles. При наличии пути к входному каталогу в облачном хранилище файлов источник cloudFiles автоматически обрабатывает новые файлы по мере их поступления, при этом также обрабатывает существующие файлы в этом каталоге. Автозагрузчик поддерживает как Python, так и SQL в Delta Live Tables.

Автозагрузчик можно использовать для обработки миллиардов файлов для переноса или заполнения таблицы задним числом. Автозагрузчик масштабируется для поддержки приема миллионов файлов в час почти в реальном времени.

Как автозагрузчик отслеживает ход приема?

По мере обнаружения файлов их метаданные сохраняются в масштабируемом хранилище пар "ключ — значение" (RocksDB) в расположении контрольной точки конвейера Автозагрузчика. Это хранилище пар "ключ — значение" гарантирует, что данные обрабатываются только один раз.

В случае сбоя Автозагрузчик может возобновить работу с того места, где он остановился, благодаря информации, хранящейся в расположении контрольной точки, и продолжать предоставлять гарантии "только один раз" при записи данных в Delta Lake. Для обеспечения отказоустойчивости или семантики обработки "только один раз" не требуется поддерживать состояние или управлять им самостоятельно.

Добавочное прием с помощью автозагрузчика с разностными динамическими таблицами

В Databricks рекомендуется использовать автозагрузчик в Delta Live Tables для добавочного приема данных. Delta Live Tables расширяет функции Apache Spark Structured Streaming и позволяет использовать всего несколько строк декларативного кода Python или SQL для развертывания конвейера данных производственного качества со следующими возможностями:

Вам не нужно указывать схему или расположение контрольной точки, так как Delta Live Tables автоматически управляет этими параметрами для ваших конвейеров. См. сведения о загрузке данных с помощью разностных динамических таблиц.

Databricks также рекомендует автозагрузчик при использовании структурированной потоковой передачи Apache Spark для приема данных из облачного хранилища объектов. API доступны в Python и Scala.

Начало работы с автозагрузчиком Databricks

Ознакомьтесь со следующими статьями, чтобы приступить к настройке добавочного приема данных с помощью автозагрузчика с разностными динамическими таблицами:

Примеры. Распространенные шаблоны автозагрузчика

Примеры распространенных шаблонов автозагрузчика см . в общих шаблонах загрузки данных.

Настройка параметров автозагрузчика

Автозагрузчик можно настроить на основе объема данных, разнообразия и скорости.

См. полный список параметров Автозагрузчика:

Если вы столкнулись с неожиданной производительностью, ознакомьтесь с часто задаваемыми вопросами.

Настройка режимов обнаружения файлов автозагрузчика

Автозагрузчик поддерживает два режима обнаружения файлов. См.

Преимущества использования автозагрузчика во время структурированной потоковой передачи непосредственно в файлах

В Apache Spark можно выполнять добавочное чтение файлов с помощью spark.readStream.format(fileFormat).load(directory). Автозагрузчик обеспечивает следующие преимущества по сравнению с источником файлов.

  • Масштабируемость — Автозагрузчик может эффективно обнаруживать миллиарды файлов. Операции обратного заполнения могут выполняться асинхронно, чтобы вычислительные ресурсы не тратились впустую.
  • Производительность — стоимость обнаружения файлов с помощью Автозагрузчика зависит от количества принимаемых файлов, а не от количества каталогов, в которых эти файлы могут находиться. См. раздел " Что такое режим списка каталогов автозагрузчика?".
  • Поддержка вывода и развития схемы — Автозагрузчик может обнаруживать смещения схемы, уведомлять вас об изменениях схемы и спасать данные, которые в противном случае были бы проигнорированы или потеряны. Узнайте, как работает вывод схемы автозагрузчика?.
  • Стоимость — Автозагрузчик использует собственные облачные API для получения списков файлов, находящихся в хранилище. Кроме того, режим уведомления о файлах Автозагрузчика позволяет сократить затраты на облачные ресурсы и полностью избежать формирования списка каталога. Автозагрузчик может автоматически настроить службы уведомлений о файлах в хранилище, чтобы сделать обнаружение файлов намного дешевле.