共用方式為


vector_l2_distance 函數

適用於:勾選為 是 Databricks 執行時間 18.1 及以上版本

計算兩個向量之間的歐幾里得(L2)距離。

語法

vector_l2_distance(vector1, vector2)

引數

  • vector1ARRAY<FLOAT> 代表第一個向量的表達式。
  • vector2ARRAY<FLOAT> 代表第二個向量的表達式。

退貨

一個 FLOAT 代表兩個向量間歐幾里得距離的值。 結果為非負,0.0 表示向量相同。

空向量回傳 0.0。 若任一輸入為NULL或包含 NULL,則回傳NULL

Notes

  • ARRAY<FLOAT> 支援;其他類型 ARRAY<DOUBLE> 如 或 ARRAY<DECIMAL> 會產生錯誤。
  • 兩個向量的維度必須相同;否則函數會升 高VECTOR_DIMENSION_MISMATCH
  • 較低的數值表示相似度較高(向量更接近);也稱為歐幾里得距離。

錯誤條件

Examples

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