Fungsi L2_DISTANCE menghitung jarak Euclidean (L2) antara dua vektor.
Catatan
Jarak L2, juga dikenal sebagai jarak Euclidean, mengukur seberapa jauh dua vektor dalam ruang vektor. Jarak ini dihitung sebagai akar kuadrat dari jumlah kuadrat selisih elemen-elemen yang bersesuaian dari kedua vektor tersebut. Jarak nol menunjukkan bahwa kedua vektor identik, sedangkan jarak yang lebih besar menandakan bahwa vektor-vektor tersebut semakin berbeda.
Syntax
FLOAT L2_DISTANCE( <vector>, <vector> )Parameters
vector: Wajib diisi. Ekspresi dengan tipe data VECTOR.
Return value
Mengembalikan nilai FLOAT yang merepresentasikan jarak Euclidean antara dua vektor.
Fungsi vektor telah dioptimalkan untuk kinerja, sehingga mungkin terjadi sedikit kehilangan presisi floating-point. Hasil fungsi ini memiliki kesalahan maksimum sebesar 1e-4.
Examples
-- Aktifkan tipe data VECTOR.
set odps.sql.type.vector.enable=true;
set odps.sql.type.system.odps2=true;
-- Siapkan data.
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT CAST(ARRAY(1.1,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(1.0,1.0,1.0) AS VECTOR(FLOAT,3));
INSERT INTO vectors SELECT CAST(ARRAY(1.0,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(4.0,6.0,8.0) AS VECTOR(FLOAT,3));
-- Hitung jarak Euclidean antara vektor a dan b.
SELECT L2_DISTANCE(a, b) FROM vectors;
-- Result
+------------+
| _c0 |
+------------+
| 5.449999809265137 |
| 48.439998626708984 |
+------------+