Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser des contrôles d’admission pour maintenir une taille de lot cohérente pour les requêtes de streaming.
Les contrôles d’admission limitent le taux d’entrée pour les requêtes Structured Streaming, ce qui peut contribuer à maintenir une taille de lot cohérente et à éviter que des lots volumineux ne provoquent des débordements ou des retards de traitement en cascade des micro-lots.
Azure Databricks fournit les mêmes options pour contrôler les tailles de lot Structured Streaming pour Delta Lake et le chargeur automatique.
Remarque
Vous pouvez modifier les paramètres de contrôle d’admission sans réinitialiser le point de contrôle pour une requête de diffusion en continu. Consultez Récupérer après des modifications dans une requête de Structured Streaming.
La modification des paramètres de contrôle d’admission pour augmenter ou diminuer la taille du lot a des implications sur les performances. Pour optimiser votre charge de travail, vous devrez peut-être ajuster vos configurations de calcul.
Limiter le taux d’entrée avec maxFilesPerTrigger
Le paramètre 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 1 000. (Notez que cette option est également présente dans Apache Spark pour d’autres sources de fichiers, où il n’y a pas de nombre maximal par défaut.)
Limiter le taux d’entrée avec maxBytesPerTrigger
La définition maxBytesPerTrigger (ou cloudFiles.maxBytesPerTrigger pour le chargeur automatique) définit un « maximum doux » 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 diffusion en continu dans les cas où la plus petite unité d’entrée est supérieure à cette limite. Il n’existe aucune 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 microbatch à 10 Go de données et que vous avez des fichiers de 3 Go chacun, Azure Databricks traite 12 Go dans un microbatch.
Définition de plusieurs taux d’entrée ensemble
Si vous utilisez maxBytesPerTrigger conjointement avec maxFilesPerTrigger, le micro-lot traite les données jusqu'à atteindre la limite inférieure de soit maxFilesPerTrigger, soit maxBytesPerTrigger.
Limitation des taux d’entrée pour d’autres sources de streaming structuré
Les sources de diffusion en continu telles qu’Apache Kafka ont chacune des limites d’entrée personnalisées, telles que maxOffsetsPerTrigger. Pour plus d’informations, consultez connecteurs Standard dans Lakeflow Connect.