Join (suggerimenti) - AWS Clean Rooms

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Join (suggerimenti)

I suggerimenti di unione suggeriscono strategie di unione per l'esecuzione delle query. La sintassi, gli argomenti e alcuni esempi provengono da Apache Spark SQL Reference per ulteriori informazioni

TRASMISSIONE

Suggerisce di AWS Clean Rooms utilizzare broadcast join. La pagina di accesso con il suggerimento verrà trasmessa indipendentemente da autoBroadcastJoin Threshold. Se entrambe le parti del join hanno i suggerimenti per la trasmissione, verrà trasmessa quella con le dimensioni inferiori (in base alle statistiche).

Alias: BROADCASTJOIN, MAPJOIN

Parametri: identificatori di tabella (opzionali)

Esempi:

-- 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

Suggerisce l' AWS Clean Rooms uso di shuffle sort merge join.

Alias: SHUFFLE_MERGE, MERGEJOIN

Parametri: identificatori di tabella (opzionali)

Esempi:

-- 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

Suggerisce di utilizzare shuffle hash AWS Clean Rooms join. Se entrambe le parti hanno gli hash hint shuffle, l'ottimizzatore di query sceglie il lato più piccolo (in base alle statistiche) come lato di compilazione.

Parametri: identificatori di tabella (opzionali)

Esempi:

-- Use shuffle hash join SELECT /*+ SHUFFLE_HASH(students) */ * FROM employees e JOIN students s ON e.id = s.id;

SHUFFLE_REPLICATE_NL

Suggerisce di utilizzare il nested loop join. AWS Clean Rooms shuffle-and-replicate

Parametri: identificatori di tabella (opzionali)

Esempi:

-- Use shuffle-replicate nested loop join SELECT /*+ SHUFFLE_REPLICATE_NL(students) */ * FROM employees e JOIN students s ON e.id = s.id;

Suggerimenti per la risoluzione dei problemi in Spark SQL

La tabella seguente mostra scenari comuni in cui i suggerimenti non vengono applicati in SparkSQL. Per ulteriori informazioni, consulta Considerazioni e limitazioni.

Caso d'uso Esempio di query
Riferimento alla tabella non trovato
SELECT /*+ BROADCAST(fake_table) */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;
Tabella che non partecipa all'operazione di unione
SELECT /*+ BROADCAST(s) */ * FROM students s WHERE s.age > 25;
Riferimento alla tabella nella sottoquery annidata
SELECT /*+ BROADCAST(s) */ * FROM employees e INNER JOIN (SELECT * FROM students s WHERE s.age > 20) sub ON e.eid = sub.sid;
Nome della colonna anziché riferimento alla tabella
SELECT /*+ BROADCAST(e.eid) */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;
Suggerimento senza parametri obbligatori
SELECT /*+ BROADCAST */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;
Nome della tabella di base anziché alias della tabella
SELECT /*+ BROADCAST(employees) */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;