Petunjuk - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Petunjuk

Petunjuk untuk analisis SQL memberikan arahan pengoptimalan yang memandu strategi eksekusi kueri AWS Clean Rooms, memungkinkan Anda meningkatkan kinerja kueri dan mengurangi biaya komputasi. Petunjuk menunjukkan bagaimana mesin analitik Spark harus menghasilkan rencana pelaksanaannya.

Sintaksis

SELECT /*+ hint_name(parameters), hint_name(parameters) */ column_list FROM table_name;

Petunjuk disematkan dalam kueri SQL menggunakan sintaks gaya komentar dan harus ditempatkan langsung setelah kata kunci SELECT.

Jenis petunjuk yang didukung

AWS Clean Rooms mendukung dua kategori petunjuk: Gabung petunjuk dan petunjuk Partisi.

Menggabungkan beberapa petunjuk

Anda dapat menentukan beberapa petunjuk dalam satu kueri dengan memisahkannya dengan koma:

-- Combine join and partitioning hints SELECT /*+ BROADCAST(d), REPARTITION(8) */ e.name, d.dept_name FROM employees e JOIN departments d ON e.dept_id = d.id; -- Multiple join hints SELECT /*+ BROADCAST(s), MERGE(d) */ * FROM employees e JOIN students s ON e.id = s.id JOIN departments d ON e.dept_id = d.id; -- Hints within separate hint blocks within the same query SELECT /*+ REPARTITION(100) */ /*+ COALESCE(500) */ /*+ REPARTITION_BY_RANGE(3, c) */ * FROM t;

Pertimbangan dan batasan

  • Petunjuk adalah saran pengoptimalan, bukan perintah. Pengoptimal kueri dapat mengabaikan petunjuk berdasarkan batasan sumber daya atau kondisi eksekusi.

  • Petunjuk disematkan langsung dalam string kueri SQL untuk keduanya dan. CreateAnalysisTemplate StartProtectedQuery APIs

  • Petunjuk harus ditempatkan langsung setelah kata kunci SELECT.

  • Parameter bernama tidak didukung dengan petunjuk dan akan memberikan pengecualian.

  • Nama kolom di REPARTITION amd REPARTITION_BY_RANGE petunjuk harus ada dalam skema input.

  • Nama kolom dalam petunjuk REBALANCE harus muncul di daftar keluaran SELECT.

  • Parameter numerik harus bilangan bulat positif antara 1 dan 2147483647. Notasi ilmiah seperti 1e1 tidak didukung

  • Petunjuk tidak didukung dalam kueri SQL Privasi Diferensial.

  • Petunjuk untuk kueri SQL tidak didukung dalam pekerjaan. PySpark Untuk memberikan arahan untuk rencana eksekusi dalam PySpark pekerjaan, gunakan API bingkai data. Lihat Apache Spark DataFrame API Docs untuk informasi selengkapnya.