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.
Conseils de participation
Les conseils de jointure suggèrent des stratégies de jointure pour l'exécution des requêtes. La syntaxe, les arguments et quelques exemples proviennent de la référence SQL Apache Spark
DIFFUSER
Suggère d' AWS Clean Rooms utiliser la jointure par diffusion. La page de jointure contenant l'indice sera diffusée quel que soit le autoBroadcastJoin seuil. Si les deux côtés de la jointure ont des indices de diffusion, celui dont la taille est la plus petite (sur la base des statistiques) sera diffusé.
Alias : BROADCASTJOIN, MAPJOIN
Paramètres : identificateurs de table (facultatif)
Exemples :
-- Broadcast a specific table SELECT /*+ BROADCAST(students) */ e.name, s.course FROM employees e JOIN students s ON e.id = s.id; -- Broadcast multiple tables SELECT /*+ BROADCASTJOIN(s, d) */ * FROM employees e JOIN students s ON e.id = s.id JOIN departments d ON e.dept_id = d.id;
MERGE
Suggère d' AWS Clean Rooms utiliser le shuffle, le tri, la fusion, la jointure.
Alias : SHUFFLE_MERGE, MERGEJOIN
Paramètres : identificateurs de table (facultatif)
Exemples :
-- Use merge join for a specific table SELECT /*+ MERGE(employees) */ * FROM employees e JOIN students s ON e.id = s.id; -- Use merge join for multiple tables SELECT /*+ MERGEJOIN(e, s, d) */ * FROM employees e JOIN students s ON e.id = s.id JOIN departments d ON e.dept_id = d.id;
SHUFFLE_HASH
Suggère d' AWS Clean Rooms utiliser la jointure par hachage automatique. Si les deux côtés ont des indices de hachage combinés, l'optimiseur de requêtes choisit le côté le plus petit (basé sur les statistiques) comme côté build.
Paramètres : identificateurs de table (facultatif)
Exemples :
-- Use shuffle hash join SELECT /*+ SHUFFLE_HASH(students) */ * FROM employees e JOIN students s ON e.id = s.id;
SHUFFLE_REPLICATE_FR
Suggère d' AWS Clean Rooms utiliser la jointure shuffle-and-replicate par boucle imbriquée.
Paramètres : identificateurs de table (facultatif)
Exemples :
-- Use shuffle-replicate nested loop join SELECT /*+ SHUFFLE_REPLICATE_NL(students) */ * FROM employees e JOIN students s ON e.id = s.id;
Conseils de résolution des problèmes dans Spark SQL
Le tableau suivant montre les scénarios courants dans lesquels les indices ne sont pas appliqués dans SparkSQL. Pour plus d’informations, consultez Considérations et restrictions.
| Cas d’utilisation | Exemple de requête |
|---|---|
| Référence de table introuvable |
|
| La table ne participe pas à l'opération de jointure |
|
| Référence de table dans une sous-requête imbriquée |
|
| Nom de colonne au lieu de référence de table |
|
| Conseil sans paramètres obligatoires |
|
| Nom de la table de base au lieu de l'alias de la table |
|