Compartir a través de


vector_l2_distance Función

Se aplica a:check marcado yes Databricks Runtime 18.1 y versiones posteriores

Calcula la distancia euclidiana (L2) entre dos vectores.

Sintaxis

vector_l2_distance(vector1, vector2)

Argumentos

  • vector1: expresión ARRAY<FLOAT> que representa el primer vector.
  • vector2: expresión ARRAY<FLOAT> que representa el segundo vector.

Devoluciones

Valor FLOAT que representa la distancia euclidiana entre los dos vectores. El resultado no es negativo, donde 0,0 indica vectores idénticos.

Devuelve 0,0 para vectores vacíos. Devuelve NULL si la entrada es NULL o contiene NULL.

Notas

  • Solo ARRAY<FLOAT> se admite; otros tipos como ARRAY<DOUBLE> o ARRAY<DECIMAL> generan un error.
  • Ambos vectores deben tener la misma dimensión; de lo contrario, la función genera VECTOR_DIMENSION_MISMATCH.
  • Los valores inferiores indican una mayor similitud (vectores más cercanos); también conocido como distancia euclidiana.

Condiciones del error

Ejemplos

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