Freigeben über


vector_l2_distance-Funktion

Gilt für:check marked yes Databricks Runtime 18.1 und höher

Berechnet den Euklidischen Abstand (L2) zwischen zwei Vektoren.

Syntax

vector_l2_distance(vector1, vector2)

Argumente

  • vector1: Ein ARRAY<FLOAT> Ausdruck, der den ersten Vektor darstellt.
  • vector2: Ein ARRAY<FLOAT> Ausdruck, der den zweiten Vektor darstellt.

Rückkehr

Ein FLOAT Wert, der den Euklidischen Abstand zwischen den beiden Vektoren darstellt. Das Ergebnis ist nicht negativ, wobei 0,0 identische Vektoren angibt.

Gibt 0,0 für leere Vektoren zurück. Gibt zurück NULL , wenn die Eingabe vorhanden ist NULL oder enthält NULL.

Hinweise

  • Nur ARRAY<FLOAT> wird unterstützt; andere Typen wie ARRAY<DOUBLE> z. B. oder ARRAY<DECIMAL> Auslösen eines Fehlers.
  • Beide Vektoren müssen dieselbe Dimension aufweisen; andernfalls löst die Funktion VECTOR_DIMENSION_MISMATCH aus.
  • Niedrigere Werte deuten auf eine größere Ähnlichkeit (nähere Vektoren) hin; auch bekannt als Euklidische Entfernung.

Fehlerbedingungen

Beispiele

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