Tous les produits
Search
Centre de documentation

MaxCompute:INNER_PRODUCT_DISTANCE

Dernière mise à jour :Aug 10, 2026

La fonction INNER_PRODUCT_DISTANCE calcule la distance du produit scalaire entre deux vecteurs.

Remarque

Le produit scalaire, également appelé produit intérieur, résulte de la multiplication de deux vecteurs. Il indique le degré d'alignement entre ces vecteurs : plus les vecteurs sont similaires, plus leur produit scalaire est élevé.

Syntaxe

FLOAT INNER_PRODUCT_DISTANCE(<vector>, <vector>)

Paramètres

vector : Obligatoire. Vecteur de type VECTOR.

Valeur renvoyée

Renvoie une valeur FLOAT représentant la distance du produit scalaire entre les deux vecteurs d'entrée.

Les optimisations des fonctions vectorielles peuvent réduire la précision en virgule flottante. Le résultat peut comporter une erreur maximale de 1e-4.

Exemples

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