Hinweise zusammenführen - AWS Clean Rooms

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Hinweise zusammenführen

Verbindungshinweise schlagen Verbindungsstrategien für die Abfrageausführung vor. Die Syntax, die Argumente und einige Beispiele stammen aus der Apache Spark-SQL-Referenz mit weiteren Informationen

ÜBERTRAGUNG

Schlägt vor, Broadcast Join zu AWS Clean Rooms verwenden. Die Join-Seite mit dem Hinweis wird unabhängig von autoBroadcastJoin Threshold übertragen. Wenn beide Seiten des Joins die Broadcast-Hinweise haben, wird die Seite mit der kleineren Größe (basierend auf Statistiken) übertragen.

Aliase: BROADCASTJOIN, MAPJOIN

Parameter: Tabellenbezeichner (optional)

Beispiele:

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

Schlägt vor, Shuffle Sort Merge Join zu AWS Clean Rooms verwenden.

Aliase: SHUFFLE_MERGE, MERGEJOIN

Parameter: Tabellenbezeichner (optional)

Beispiele:

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

Schlägt vor, Shuffle Hash Join AWS Clean Rooms zu verwenden. Wenn beide Seiten die Shuffle-Hash-Hinweise haben, wählt der Abfrageoptimierer die kleinere Seite (basierend auf Statistiken) als Build-Seite.

Parameter: Tabellenbezeichner (optional)

Beispiele:

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

SHUFFLE_REPLICATE_NL

Schlägt vor, Nested Loop Join zu verwenden. AWS Clean Rooms shuffle-and-replicate

Parameter: Tabellenbezeichner (optional)

Beispiele:

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

Hinweise zur Fehlerbehebung in Spark SQL

Die folgende Tabelle zeigt allgemeine Szenarien, in denen Hinweise in SparkSQL nicht angewendet werden. Weitere Informationen finden Sie unter Überlegungen und Einschränkungen.

Anwendungsfall Beispielabfrage
Die Tabellenreferenz wurde nicht gefunden
SELECT /*+ BROADCAST(fake_table) */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;
Die Tabelle nimmt nicht am Zusammenführungsvorgang teil
SELECT /*+ BROADCAST(s) */ * FROM students s WHERE s.age > 25;
Tabellenverweis in einer verschachtelten Unterabfrage
SELECT /*+ BROADCAST(s) */ * FROM employees e INNER JOIN (SELECT * FROM students s WHERE s.age > 20) sub ON e.eid = sub.sid;
Spaltenname statt Tabellenverweis
SELECT /*+ BROADCAST(e.eid) */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;
Hinweis ohne erforderliche Parameter
SELECT /*+ BROADCAST */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;
Basistabellenname statt Tabellenalias
SELECT /*+ BROADCAST(employees) */ * FROM employees e INNER JOIN students s ON e.eid = s.sid;