Partager via


vector_l2_distance Fonction

S’applique à :check marqué oui Databricks Runtime 18.1 et versions ultérieures

Calcule la distance euclide (L2) entre deux vecteurs.

Syntaxe

vector_l2_distance(vector1, vector2)

Arguments

  • vector1 : ARRAY<FLOAT> expression représentant le premier vecteur.
  • vector2 : ARRAY<FLOAT> expression représentant le deuxième vecteur.

Retours

Valeur FLOAT représentant la distance euclide entre les deux vecteurs. Le résultat est non négatif, où 0,0 indique des vecteurs identiques.

Retourne la valeur 0.0 pour les vecteurs vides. Retourne NULL si l’entrée est NULL ou contient NULL.

Remarques

  • Seul ARRAY<FLOAT> est pris en charge ; d’autres types tels que ARRAY<DOUBLE> ou ARRAY<DECIMAL> déclenchent une erreur.
  • Les deux vecteurs doivent avoir la même dimension ; sinon, la fonction déclenche VECTOR_DIMENSION_MISMATCH.
  • Les valeurs inférieures indiquent une plus grande similarité (vecteurs plus proches) ; également connu sous le nom de distance euclide.

Conditions de l’erreur

Exemples

-- 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