共用方式為


vector_avg 聚合函數

適用於:勾選為 是 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]