Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des fonctions de fenêtre SQL au lieu de join et GroupBy
Fonctions de fenêtreSUM
ou MAX
, opèrent sur un groupe de lignes et calculent une valeur de retour unique pour chaque groupe. Les fonctions de fenêtre sont utiles pour traiter des tâches, telles que le calcul d'une moyenne mobile ou l'accès à la valeur des lignes en fonction de la position relative de la ligne en cours.
Le Spark groupBy
La fonction collecte les données en groupes et exécute des fonctions d'agrégation sur les données groupées. Lorsque vous utilisezgroupBy
, Spark agrège d'abord partiellement les données, puis mélange l'ensemble de données réduit. Lorsque vous utilisez des fonctions de fenêtre, l'ensemble de données est mélangé dans son intégralité. Les fonctions de fenêtre peuvent fournir des temps d'exécution plus rapides.
Dans les ensembles de données très volumineux, si la cardinalité de la colonne est importante, les fonctions de fenêtre sont recommandées. Toutefois, si la cardinalité de la colonne est faible, l'agrégation des données est faible et le résultat agrégé peut être diffusé dans la jointure.