Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Únase a las sugerencias
Los consejos de unión sugieren estrategias de unión para la ejecución de consultas. La sintaxis, los argumentos y algunos ejemplos provienen de la referencia SQL de Apache Spark
EMISIÓN
Sugiere AWS Clean Rooms utilizar broadcast join. La parte de unión con la sugerencia se emitirá independientemente del autoBroadcastJoin umbral. Si ambos lados de la unión tienen las sugerencias emitidas, se emitirá la que tenga el tamaño más pequeño (según las estadísticas).
Alias: BROADCASTJOIN, MAPJOIN
Parámetros: identificadores de tabla (opcionales)
Ejemplos:
-- 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
Sugiere que se AWS Clean Rooms utilice la combinación, la ordenación, la combinación y la combinación.
Alias: SHUFFLE_MERGE, MERGEJOIN
Parámetros: identificadores de tabla (opcionales)
Ejemplos:
-- 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
Sugiere AWS Clean Rooms usar shuffle hash join. Si ambos lados tienen las sugerencias de mezcla aleatoria, el optimizador de consultas elige el lado más pequeño (según las estadísticas) como el lado de construcción.
Parámetros: identificadores de tabla (opcionales)
Ejemplos:
-- Use shuffle hash join SELECT /*+ SHUFFLE_HASH(students) */ * FROM employees e JOIN students s ON e.id = s.id;
SHUFFLE_REPLICATE_NL
Sugiere utilizar una unión de bucles anidada. AWS Clean Rooms shuffle-and-replicate
Parámetros: identificadores de tabla (opcionales)
Ejemplos:
-- Use shuffle-replicate nested loop join SELECT /*+ SHUFFLE_REPLICATE_NL(students) */ * FROM employees e JOIN students s ON e.id = s.id;
Consejos para la solución de problemas en Spark SQL
La siguiente tabla muestra situaciones comunes en las que no se aplican sugerencias en SparkSQL. Para obtener información adicional, consulta Consideraciones y limitaciones.
| Caso de uso | Consulta de ejemplo |
|---|---|
| No se encontró la referencia de la tabla |
|
| La tabla no participa en la operación de unión |
|
| Referencia de tabla en una subconsulta anidada |
|
| Nombre de columna en lugar de referencia de tabla |
|
| Sugerencia sin los parámetros necesarios |
|
| Nombre de la tabla base en lugar del alias de la tabla |
|