Todos os produtos
Search
Central de documentação

MaxCompute:INNER_PRODUCT_DISTANCE

Última atualização: Jul 13, 2026

A função INNER_PRODUCT_DISTANCE calcula a distância do produto interno entre dois vetores.

Nota

O produto interno, também conhecido como produto escalar ou produto ponto, resulta da multiplicação de dois vetores. Esse valor indica o grau de alinhamento entre eles: vetores semelhantes apresentam um produto interno maior que vetores distintos.

Sintaxe

FLOAT INNER_PRODUCT_DISTANCE(<vector>, <vector>)

Parâmetros

vector: obrigatório. Vetor do tipo de dados VECTOR.

Valor de retorno

Retorna um valor FLOAT que representa a distância do produto interno entre os dois vetores de entrada.

Otimizações em funções vetoriais podem reduzir a precisão de ponto flutuante. O resultado desta função pode apresentar erro de até 1e-4.

Exemplos

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

-- Prepare the 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 inner product distance between a and b.
SELECT INNER_PRODUCT_DISTANCE(a, b) FROM vectors;

-- Result
+------------+
| _c0        |
+------------+
| -40.20000076293945 |
| -5.300000190734863 |
+------------+