適用於:
Databricks 執行時間 18.1 及以上版本
計算聚合中向量的元素平均值。 回傳一個向量,每個元素是對應元素在所有輸入向量上的算術平均值。
語法
vector_avg(vectors) [FILTER ( WHERE cond ) ]
引數
-
向量:一列
ARRAY<FLOAT>表示向量的表達式。 所有向量的維度必須相同。 - 條件:一個可選的布林運算式,用來過濾用於聚合的列數。
退貨
一個 ARRAY<FLOAT> 與輸入向量維度相同的值。 結果中的每個元素都是所有輸入向量對應元素的平均值。
NULL包含元素NULL的值與非NULL向量在彙總中會被忽略。 若群組中所有值皆無效,則回傳 NULL 。 若所有輸入向量皆為空,則回傳一個空陣列 [] 。
Notes
- 僅
ARRAY<FLOAT>支援;其他類型ARRAY<DOUBLE>如 或ARRAY<DECIMAL>會產生錯誤。 - 所有輸入向量的維度必須相同;否則函數會升 高VECTOR_DIMENSION_MISMATCH。
- 包含元素
NULL的非NULL向量會被視為NULL。
錯誤條件
Examples
-- Element-wise average per category (with GROUP BY)
> SELECT category, vector_avg(embedding) AS centroid
FROM vector_data
GROUP BY category
ORDER BY category;
category: A, centroid: [3.0, 6.0, 9.0]
category: B, centroid: [2.0, 4.0, 6.0]
-- Scalar aggregation (no GROUP BY)
> SELECT vector_avg(embedding) AS overall_centroid FROM vector_data;
overall_centroid: [2.5, 5.0, 7.5]