As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Junte dicas
As dicas de junção sugerem estratégias de junção para execução de consultas. A sintaxe, os argumentos e alguns exemplos vêm da Referência SQL do Apache Spark
TRANSMISSÃO
Sugere que AWS Clean Rooms use broadcast join. O lado de junção com a dica será transmitido independentemente do autoBroadcastJoin limite. Se os dois lados da junção tiverem as dicas de transmissão, aquele com o tamanho menor (com base nas estatísticas) será transmitido.
Pseudônimos: BROADCASTJOIN, MAPJOIN
Parâmetros: identificadores de tabela (opcional)
Exemplos:
-- 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
Sugere que AWS Clean Rooms use shuffle sort merge join.
Pseudônimos: SHUFFLE_MERGE, MERGEJOIN
Parâmetros: identificadores de tabela (opcional)
Exemplos:
-- 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
Sugere que AWS Clean Rooms use shuffle hash join. Se os dois lados tiverem dicas de hash aleatórias, o otimizador de consultas escolherá o lado menor (com base nas estatísticas) como o lado da construção.
Parâmetros: identificadores de tabela (opcional)
Exemplos:
-- Use shuffle hash join SELECT /*+ SHUFFLE_HASH(students) */ * FROM employees e JOIN students s ON e.id = s.id;
SHUFFLE_REPLICATE_NL
Sugere o AWS Clean Rooms uso de junção de loop shuffle-and-replicate aninhado.
Parâmetros: identificadores de tabela (opcional)
Exemplos:
-- Use shuffle-replicate nested loop join SELECT /*+ SHUFFLE_REPLICATE_NL(students) */ * FROM employees e JOIN students s ON e.id = s.id;
Dicas de solução de problemas no Spark SQL
A tabela a seguir mostra cenários comuns em que as dicas não são aplicadas no SparkSQL. Para obter informações adicionais, consulte Considerações e limitações.
| Caso de uso | Exemplo de consulta |
|---|---|
| Referência de tabela não encontrada |
|
| Mesa que não participa da operação de junção |
|
| Referência de tabela na subconsulta aninhada |
|
| Nome da coluna em vez da referência da tabela |
|
| Dica sem parâmetros obrigatórios |
|
| Nome da tabela base em vez do alias da tabela |
|