Compartir vía


Configuración del tamaño del lote de Structured Streaming en Azure Databricks

Limitar la velocidad de entrada para las consultas de Structured Streaming ayuda a mantener un tamaño de lote coherente y evita que los lotes grandes den lugar a vertidos y retrasos en el procesamiento de micro-lotes en cascada.

Azure Databricks proporciona las mismas opciones para controlar los tamaños de lote de Structured Streaming para Delta Lake y Auto Loader.

Limitar la velocidad de entrada con maxFilesPerTrigger

Establecer maxFilesPerTrigger (o cloudFiles.maxFilesPerTrigger para Auto Loader) especifica un límite superior para el número de archivos procesados en cada microproceso. Para Delta Lake y Auto Loader, el valor predeterminado es 1000. (Tenga en cuenta que esta opción también está presente en Apache Spark para otros orígenes de archivos, donde no hay ningún máximo de forma predeterminada).

Limitar la velocidad de entrada con maxBytesPerTrigger

Al configurar maxBytesPerTrigger (o cloudFiles.maxBytesPerTrigger para el Cargador Automático), se establece un "máximo flexible" para la cantidad de datos procesados en cada micro-lote. Esto significa que un lote procesa aproximadamente esta cantidad de datos y puede procesar más que el límite para que la consulta de streaming avance en los casos en los que la unidad de entrada más pequeña sea mayor que este límite. No hay ningún valor predeterminado para esta configuración.

Por ejemplo, si especifica una cadena de bytes como 10g para limitar cada microbatch a 10 GB de datos y tiene archivos de 3 GB cada uno, Azure Databricks procesará 12 GB en un microbatch.

Establecimiento de varias velocidades de entrada juntas

Si usa maxBytesPerTrigger junto con maxFilesPerTrigger, el microproceso procesa los datos hasta alcanzar el límite inferior de maxFilesPerTrigger o maxBytesPerTrigger.

Limitación de las velocidades de entrada para otros orígenes de Structured Streaming

Los orígenes de streaming, como Apache Kafka, tienen límites de entrada personalizados, como maxOffsetsPerTrigger. Para obtener más información, consulte Configuración de orígenes de datos de streaming.