Поделиться через


Настройка размера пакета структурированной потоковой передачи в Azure Databricks

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

Azure Databricks предоставляет такие же возможности для управления размерами пакетов структурированной потоковой передачи для Delta Lake и автозагрузчика.

Ограничение скорости ввода с помощью maxFilesPerTrigger

Параметр maxFilesPerTrigger (или cloudFiles.maxFilesPerTrigger для автозагрузчика) указывает верхнюю границу для числа файлов, обрабатываемых в каждом микропакете. Для Delta Lake и автозагрузчика значение по умолчанию равно 1000. (Обратите внимание, что этот параметр также присутствует в Apache Spark для других источников файлов, где по умолчанию нет максимального значения.)

Ограничение скорости ввода с помощью maxBytesPerTrigger

Параметр maxBytesPerTrigger (или cloudFiles.maxBytesPerTrigger для автозагрузчика) задает "нестрогий максимум" для объема данных, обрабатываемых в каждом микропакете. Это означает, что пакет обрабатывает приблизительно такой объем данных и может обработать больше, чтобы запрос потоковой передачи продолжился в случаях, когда наименьший входной блок превышает это ограничение. Этот параметр не имеет значения по умолчанию.

Если указать строку байтов, например 10g, чтобы ограничить каждый микропакет размером в 10 ГБ, и у вас есть файлы размером 3 ГБ, Azure Databricks будет обрабатывать 12 ГБ в микропакете.

Одновременная настройка нескольких скоростей ввода

Если использовать maxBytesPerTrigger в сочетании с maxFilesPerTrigger, микропакет обрабатывает данные до достижения нижнего ограничения для maxFilesPerTrigger или maxBytesPerTrigger.

Ограничение скорости ввода для других источников структурированной потоковой передачи

Источники потоковой передачи, такие как Apache Kafka, имеют настраиваемые ограничения ввода, например maxOffsetsPerTrigger. Дополнительные сведения см. в разделе "Настройка источников данных потоковой передачи".