Partilhar via


vector_l2_distance Função

Aplica-se a:sim Databricks Runtime 18.1 e superiores

Calcula a distância euclidiana (L2) entre dois vetores.

Sintaxe

vector_l2_distance(vector1, vector2)

Argumentos

  • vector1: Uma expressão que ARRAY<FLOAT> representa o primeiro vetor.
  • vector2: Uma expressão que ARRAY<FLOAT> representa o segundo vetor.

Devoluções

Um FLOAT valor que representa a distância euclidiana entre os dois vetores. O resultado é não negativo, onde 0,0 indica vetores idênticos.

Devolve 0,0 para vetores vazios. Retorna NULL se qualquer uma das entradas for NULL ou contiver NULL.

Notes

  • Apenas ARRAY<FLOAT> é suportado; outros tipos como ARRAY<DOUBLE> ou ARRAY<DECIMAL> gerar um erro.
  • Ambos os vetores devem ter a mesma dimensão; caso contrário, a função eleva VECTOR_DIMENSION_MISMATCH.
  • Valores mais baixos indicam maior similaridade (vetores mais próximos); também conhecida como distância euclidiana.

Condições de erro

Exemplos

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