Bagikan melalui


fungsi vector_l2_distance

Berlaku untuk:diberi tanda centang ya Databricks Runtime 18.1 ke atas

Menghitung jarak Euclidean (L2) antara dua vektor.

Sintaksis

vector_l2_distance(vector1, vector2)

Argumen

  • vektor1: Ekspresi ARRAY<FLOAT> yang mewakili vektor pertama.
  • vektor2: Ekspresi ARRAY<FLOAT> yang mewakili vektor kedua.

Pengembalian Barang

FLOAT Nilai yang mewakili jarak Euclidean antara dua vektor. Hasilnya tidak negatif, di mana 0,0 menunjukkan vektor yang identik.

Mengembalikan 0,0 untuk vektor kosong. Mengembalikan NULL jika salah satu input adalah NULL atau berisi NULL.

Catatan

  • Hanya ARRAY<FLOAT> didukung; jenis lain seperti ARRAY<DOUBLE> atau ARRAY<DECIMAL> menimbulkan kesalahan.
  • Kedua vektor harus memiliki dimensi yang sama; jika tidak, fungsi akan meningkatkan VECTOR_DIMENSION_MISMATCH.
  • Nilai yang lebih rendah menunjukkan kesamaan yang lebih besar (vektor yang lebih dekat); juga dikenal sebagai jarak Euclidean.

Kondisi kesalahan

Examples

-- Basic L2 distance
> SELECT vector_l2_distance(array(1.0f, 2.0f, 3.0f), array(4.0f, 5.0f, 6.0f));
  5.196152422706632

-- Distance between identical vectors
> SELECT vector_l2_distance(array(1.0f, 2.0f), array(1.0f, 2.0f));
  0.0

-- Classic 3-4-5 triangle
> SELECT vector_l2_distance(array(0.0f, 0.0f), array(3.0f, 4.0f));
  5.0