Partager via


Configurer une taille de lot de Structured Streaming sur Azure Databricks

La limitation du taux d’entrée des requêtes de Structured Streaming permet de maintenir une taille de lot cohérente, et d’éviter que des lots volumineux entraînent des retards de traitement des micro-lots en cascade.

Azure Databricks fournit les mêmes options pour contrôler les tailles de lot de Structured Streaming pour Delta Lake et le Chargeur automatique.

Limiter le taux d’entrée avec maxFilesPerTrigger

La définition de maxFilesPerTrigger (ou cloudFiles.maxFilesPerTrigger pour le Chargeur automatique) spécifie une limite supérieure pour le nombre de fichiers traités dans chaque micro-lot. Pour Delta Lake et le Chargeur automatique, la valeur par défaut est 1000. (Notez que cette option est également présente dans Apache Spark pour d’autres sources de fichiers, où il n’y a pas de valeur maximale par défaut.)

Limiter le taux d’entrée avec maxBytesPerTrigger

La définition de maxBytesPerTrigger (ou cloudFiles.maxBytesPerTrigger pour le Chargeur automatique) définit une « valeur maximale conditionnelle » pour la quantité de données traitées dans chaque micro-lot. Cela signifie qu’un lot traite approximativement cette quantité de données et peut traiter plus que la limite afin de faire avancer la requête de streaming dans les cas où la plus petite unité d’entrée est supérieure à cette limite. Il n'existe pas de valeur par défaut pour ce paramètre.

Par exemple, si vous spécifiez une chaîne d’octets telle que 10g pour limiter chaque micro-lot à 10 Go de données, et avez des fichiers de 3 Go chacun, Azure Databricks traite 12 Go dans un micro-lot.

Définition de plusieurs taux d’entrée

Si vous utilisez maxBytesPerTrigger conjointement avec maxFilesPerTrigger, le micro-lot traite les données jusqu’à atteindre la limite inférieure de maxFilesPerTrigger ou maxBytesPerTrigger.

Limitation des taux d’entrée pour d’autres sources de Structured Streaming

Des sources de diffusion en continu telles qu’Apache Kafka ont des limites d’entrée personnalisées, telles que maxOffsetsPerTrigger. Pour obtenir plus d’informations, consultez Configurer des sources de données de diffusion en continu.