全部產品
Search
文件中心

MaxCompute:L2_DISTANCE

更新時間:Jul 09, 2026

L2_DISTANCE函數用於計算兩個向量之間的 L2 歐式距離。

說明

L2距離,也稱為歐氏距離,是衡量向量空間中兩個向量之間距離的指標。該距離的計算方法是:將兩個向量元素的平方差求和,然後開平方根。距離的值可以大於零。如果距離為零,則兩個向量完全相同。距離越大,表示兩個向量之間的距離越遠。

命令格式

FLOAT L2_DISTANCE( <vector>, <vector> )

參數說明

vector:必填。VECTOR類型。用於計算歐式距離的向量值。

傳回值說明

返回FLOAT類型,表示兩個輸入向量之間的歐式距離。

向量函數經過最佳化,可能會降低浮點精度。此函數的結果誤差範圍最大可達1e-4

使用樣本

-- 開啟VECTOR資料類型
set odps.sql.type.vector.enable=true;
set odps.sql.type.system.odps2=true;

-- 準備資料
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));

-- 計算a,b之間的歐式距離
SELECT L2_DISTANCE(a, b) FROM vectors;

-- 返回結果
+------------+
| _c0        | 
+------------+
| 5.449999809265137 | 
| 48.439998626708984 | 
+------------+