Todos os produtos
Search
Central de documentação

MaxCompute:L2_DISTANCE

Última atualização: Jul 13, 2026

A função L2_DISTANCE calcula a distância euclidiana L2 entre dois vetores.

Nota

A distância L2, também conhecida como distância euclidiana, mede o afastamento entre dois vetores em um espaço vetorial. Esse valor corresponde à raiz quadrada da soma dos quadrados das diferenças entre os elementos correspondentes dos vetores. Distância zero indica vetores idênticos. Quanto maior a distância, mais distantes estão os vetores.

Sintaxe

FLOAT L2_DISTANCE( <vector>, <vector> )

Parâmetros

vector: obrigatório. Expressão do tipo de dados VECTOR.

Valor retornado

Retorna um valor FLOAT que representa a distância euclidiana entre os dois vetores.

As funções de vetor têm otimização de desempenho, o que pode causar pequena perda de precisão de ponto flutuante. O resultado desta função apresenta erro máximo de 1e-4.

Exemplos

-- Enable the VECTOR data type.
set odps.sql.type.vector.enable=true;
set odps.sql.type.system.odps2=true;

-- Prepare data.
CREATE TABLE vectors (a VECTOR(FLOAT, 3), b VECTOR(FLOAT, 3));
INSERT INTO vectors SELECT CAST(ARRAY(1.1,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(1.0,1.0,1.0) AS VECTOR(FLOAT,3));
INSERT INTO vectors SELECT CAST(ARRAY(1.0,2.2,3.0) AS VECTOR(FLOAT,3)), CAST(ARRAY(4.0,6.0,8.0) AS VECTOR(FLOAT,3));

-- Calculate the Euclidean distance between vectors a and b.
SELECT L2_DISTANCE(a, b) FROM vectors;

-- Result
+------------+
| _c0        | 
+------------+
| 5.449999809265137 | 
| 48.439998626708984 | 
+------------+