Menggunakan fungsi jendela SQL alih-alih bergabung dan GroupBy - AWS Panduan Preskriptif

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

Menggunakan fungsi jendela SQL alih-alih bergabung dan GroupBy

Fungsi jendela (Spark dokumentasi) melakukan perhitungan atas sekelompok baris, yang disebut jendela, yang entah bagaimana berhubungan dengan catatan saat ini. Misalnya, mereka dapat berada di partisi atau bingkai yang sama dengan baris saat ini. Fungsi jendela dibangun ke dalam Spark, dan mereka mirip dengan fungsi agregat. Fungsi agregat, seperti SUM atau MAX, beroperasi pada sekelompok baris dan menghitung nilai pengembalian tunggal untuk setiap grup. Fungsi jendela berguna untuk memproses tugas, seperti menghitung rata-rata bergerak atau mengakses nilai baris berdasarkan posisi relatif dari baris saat ini.

Bagian Spark groupByfungsi mengumpulkan data ke dalam kelompok dan melakukan fungsi agregat pada data yang dikelompokkan. Ketika Anda menggunakangroupBy, Spark sebagian mengumpulkan data terlebih dahulu dan kemudian mengacak kumpulan data yang dikurangi. Saat Anda menggunakan fungsi jendela, seluruh kumpulan data diacak. Fungsi jendela dapat memberikan runtime yang lebih cepat.

Dalam kumpulan data yang sangat besar, jika kardinalitas kolom besar, maka fungsi jendela direkomendasikan. Namun, jika kardinalitas kolom kecil, agregasi data kecil, dan hasil agregat dapat disiarkan dalam gabungan.