Condividi tramite


Funzione vector_l2_distance

Si applica a:check contrassegnato come sì Databricks Runtime 18.1 e versioni successive

Calcola la distanza Euclidea (L2) tra due vettori.

Sintassi

vector_l2_distance(vector1, vector2)

Arguments

  • vector1: ARRAY<FLOAT> espressione che rappresenta il primo vettore.
  • vector2: ARRAY<FLOAT> espressione che rappresenta il secondo vettore.

Restituzioni

Valore FLOAT che rappresenta la distanza euclidea tra i due vettori. Il risultato è non negativo, dove 0,0 indica vettori identici.

Restituisce 0,0 per vettori vuoti. Restituisce NULL se l'input è NULL o contiene NULL.

Note

  • È supportato solo ARRAY<FLOAT> altri tipi, ARRAY<DOUBLE> ad esempio o ARRAY<DECIMAL> generano un errore.
  • Entrambi i vettori devono avere la stessa dimensione; in caso contrario, la funzione genera VECTOR_DIMENSION_MISMATCH.
  • I valori inferiori indicano una maggiore somiglianza (vettori più vicini); nota anche come distanza euclidea.

Condizioni di errore

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