Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bergabunglah dengan petunjuk
Petunjuk bergabung menyarankan strategi bergabung untuk eksekusi kueri. Sintaks, argumen, dan beberapa contoh berasal dari Apache Spark SQL
MENYIARKAN
Menyarankan bahwa AWS Clean Rooms gunakan broadcast join. Sisi gabungan dengan petunjuk akan disiarkan terlepas dari autoBroadcastJoin Threshold. Jika kedua sisi gabungan memiliki petunjuk siaran, yang dengan ukuran lebih kecil (berdasarkan statistik) akan disiarkan.
Alias: BROADCASTJOIN, MAPJOIN
Parameter: Pengidentifikasi tabel (opsional)
Contoh:
-- 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
Menyarankan bahwa AWS Clean Rooms gunakan shuffle sort merge join.
Alias: SHUFFLE_MERGE, MERGEJOIN
Parameter: Pengidentifikasi tabel (opsional)
Contoh:
-- 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
Menyarankan bahwa AWS Clean Rooms gunakan shuffle hash join. Jika kedua sisi memiliki petunjuk hash acak, pengoptimal kueri memilih sisi yang lebih kecil (berdasarkan statistik) sebagai sisi build.
Parameter: Pengidentifikasi tabel (opsional)
Contoh:
-- Use shuffle hash join SELECT /*+ SHUFFLE_HASH(students) */ * FROM employees e JOIN students s ON e.id = s.id;
SHUFFLE_REPLICATE_NL
Menyarankan bahwa AWS Clean Rooms gunakan gabungan loop shuffle-and-replicate bersarang.
Parameter: Pengidentifikasi tabel (opsional)
Contoh:
-- Use shuffle-replicate nested loop join SELECT /*+ SHUFFLE_REPLICATE_NL(students) */ * FROM employees e JOIN students s ON e.id = s.id;
Petunjuk Pemecahan Masalah di Spark SQL
Tabel berikut menunjukkan skenario umum di mana petunjuk tidak diterapkan di SparkSQL. Untuk informasi tambahan, lihat Pertimbangan dan batasan.
| Kasus Penggunaan | Contoh Kueri |
|---|---|
| Referensi tabel tidak ditemukan |
|
| Tabel tidak berpartisipasi dalam operasi bergabung |
|
| Referensi tabel dalam subquery bersarang |
|
| Nama kolom bukan referensi tabel |
|
| Petunjuk tanpa parameter yang diperlukan |
|
| Nama tabel dasar bukan alias tabel |
|