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.
Note
La fusion aléatoire faible est généralement disponible (GA) dans Databricks Runtime 10.4 lTS et versions ultérieures et en préversion publique dans Databricks Runtime 9.1 LTS. Databricks recommande que les clients en préversion migrent vers Databricks Runtime 10.4 LTS ou version ultérieure.
La commande MERGE permet d’effectuer des mises à jour simultanées, des insertions et des suppressions d’une table Delta Lake. Azure Databricks dispose d'une implémentation optimisée de MERGE qui améliore considérablement les performances pour les charges de travail courantes en réduisant le nombre d'opérations de répartition.
La fusion avec peu de brassage de Databricks améliore les performances en traitant les lignes non modifiées dans un mode de traitement distinct et plus efficace, au lieu de les traiter avec les lignes modifiées. Par conséquent, la quantité de données aléatoires est réduite de manière significative, ce qui entraîne une amélioration des performances. La fusion aléatoire faible réduit également la nécessité pour les utilisateurs de réexécuter la OPTIMIZE commande ZORDER BY après avoir effectué une MERGE opération.
Optimisation des performances
De nombreuses MERGE charges de travail ne mettent à jour qu’un nombre relativement faible de lignes dans une table. Toutefois, les tables Delta ne peuvent être mises à jour que par fichier. Lorsque la MERGE commande doit mettre à jour ou supprimer un petit nombre de lignes stockées dans un fichier particulier, elle doit également traiter et réécrire toutes les lignes restantes stockées dans le même fichier, même si ces lignes ne sont pas modifiées. La fusion avec un faible degré de remaniement optimise le traitement des lignes non modifiées. Auparavant, ils étaient traités de la même façon que les lignes modifiées, en les passant par plusieurs phases de remaniement et calculs coûteux. Dans une fusion à faible remaniement, les lignes non modifiées sont traitées sans remaniements, traitement intensif ou autre surcharge supplémentaire.
Disposition des données optimisées
En plus d'être plus rapide à exécuter, la fusion à faible brassage profite également aux opérations suivantes. L’implémentation précédente MERGE entraînait la modification complète de la disposition des données non modifiées, ce qui entraînait une baisse des performances lors des opérations suivantes. La fusion avec faible recombinaison tente de conserver la disposition des données existantes des enregistrements non modifiés, y compris l’optimisation de l’ordre Z, dans la mesure du possible. Par conséquent, avec une fusion aléatoire faible, les performances des opérations sur une table Delta se dégradent plus lentement après l’exécution d’une ou plusieurs MERGE commandes.
Note
La fusion avec faible réorganisation cherche à préserver la structure des données sur les données existantes qui ne sont pas modifiées. La disposition des données mises à jour ou nouvellement insérées peut ne pas être optimale. Il peut donc être nécessaire d’exécuter les OPTIMIZE commandes Z ou OPTIMIZE ZORDER BY .
Availability
La fusion aléatoire faible est activée par défaut dans Databricks Runtime 10.4 et versions ultérieures. Dans les versions antérieures de Databricks Runtime prises en charge, elle peut être activée en configurant spark.databricks.delta.merge.enableLowShuffle à true. Cet indicateur n’a aucun effet dans Databricks Runtime 10.4 et versions ultérieures.