Rumah > pangkalan data > tutorial mysql > Mengapakah Spark SQL UDFs Kadang-kadang Menyebabkan Produk Cartesian Daripada Sambungan Luar?

Mengapakah Spark SQL UDFs Kadang-kadang Menyebabkan Produk Cartesian Daripada Sambungan Luar?

Susan Sarandon
Lepaskan: 2024-12-26 14:13:13
asal
590 orang telah melayarinya

Why Do Spark SQL UDFs Sometimes Cause Cartesian Products Instead of Outer Joins?

UDF dan Produk Cartesian

Memahami Masalah

Dalam Spark SQL, menggunakan Pengguna tersuai -Fungsi Tertakrif (UDF) dalam pertanyaan SQL kadangkala boleh membawa kepada pengiraan produk Cartesian dan bukannya pengiraan penuh yang dijangkakan. gabungan luar. Isu prestasi ini timbul kerana penggunaan UDF memperkenalkan fungsi sewenang-wenangnya dan tidak menentukan, menjadikannya mencabar bagi pengoptimum untuk menentukan nilainya tanpa menilai semua gabungan input yang mungkin.

Penyelesaian

Tidak seperti UDF, keadaan kesamaan mudah dalam cantuman luar penuh (t1.foo = t2.bar) mempunyai tingkah laku yang boleh diramal. Pengoptimum boleh mengocok baris t1 dan t2 berdasarkan foo dan bar, masing-masing, untuk mengira cantuman dengan cekap.

Mencegah Produk Cartesian

Pendek untuk mengubah suai Spark SQL enjin, tidak ada cara mudah untuk memaksa sambungan luar ke atas produk Cartesian yang diperkenalkan oleh UDF. Had ini berpunca daripada sifat semula jadi UDF, yang memerlukan penilaian semua kemungkinan kombinasi hujah untuk menentukan nilainya.

Atas ialah kandungan terperinci Mengapakah Spark SQL UDFs Kadang-kadang Menyebabkan Produk Cartesian Daripada Sambungan Luar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan