通过


vector_avg 聚合函数

适用于:检查标记为“是”的 Databricks Runtime 18.1 及更高版本

计算聚合中矢量的按元素计算平均值。 返回一个向量,其中每个元素都是所有输入向量中相应元素的算术平均值。

Syntax

vector_avg(vectors) [FILTER ( WHERE cond ) ]

Arguments

  • 向量:表示向量的表达式列 ARRAY<FLOAT> 。 所有向量必须具有相同的维度。
  • cond:可选的布尔表达式,用于筛选用于聚合的行。

退货

ARRAY<FLOAT> 输入向量具有相同维度的值。 结果中的每个元素都是所有输入向量中相应元素的平均值。

NULL聚合中忽略包含NULL元素的值和非NULL向量。 返回 NULL 组中所有值是否无效。 如果所有输入向量均为空,则返回空数组 []

备注

  • ARRAY<FLOAT> 受支持;其他类型的(例如 ARRAY<DOUBLE>ARRAY<DECIMAL> 引发错误)。
  • 所有输入向量必须具有相同的维度;否则,该函数将引发 VECTOR_DIMENSION_MISMATCH
  • 包含NULL元素的非NULL向量被视为 NULL

错误条件

示例

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