Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Cette page décrit les fonctionnalités d’optimisation disponibles pour les requêtes de streaming sans état dans Databricks Runtime 18.0 et versions ultérieures.
Les requêtes Structured Streaming sans état traitent les données sans conserver l’état intermédiaire. Ces requêtes n’utilisent pas d’opérateurs avec état tels que des agrégations de streaming, dropDuplicates ou des jointures entre flux. Par exemple, les requêtes qui utilisent des jointures statiques de flux, MERGE INTO avec des tables Delta et d’autres opérations qui suivent uniquement les lignes qui ont été traitées de source à récepteur.
Exécution de requête adaptative et shuffle optimisé automatiquement
Azure Databricks prend en charge l’exécution de requêtes adaptatives (AQE) et le shuffle optimisé automatiquement (AOS) pour les requêtes de streaming sans état. Ces fonctionnalités permettent d’optimiser les charges de travail de streaming qui utilisent des jointures flux-statiques, MERGE INTO avec des tables Delta et des opérations similaires.
Pour activer AQE pour les requêtes de diffusion en continu sans état, définissez la configuration suivante sur true. Cette option est activée par défaut :
spark.sql.adaptive.streaming.stateless.enabled true
Pour activer AOS pour les requêtes de streaming sans état, activez AQE et définissez la configuration suivante :
spark.sql.shuffle.partitions auto
Modifier les partitions de répartition pendant le redémarrage de la requête
Les requêtes de streaming sans état permettent de modifier le nombre de partitions de répartition lorsque vous redémarrez une requête. Cela vous permet d’ajuster le parallélisme pour prendre en charge différents volumes d’entrée.
Cette fonctionnalité est particulièrement utile pour les scénarios de remplissage historique. Par exemple, vous pouvez traiter le rechargement historique avec un parallélisme plus élevé, puis réduire le parallélisme pour les données en temps réel.
Pour modifier le nombre de partitions aléatoires, définissez la configuration suivante sur votre valeur souhaitée et redémarrez la requête :
spark.sql.shuffle.partitions <number>