适用于:
Databricks Runtime 18.1 及更高版本
计算聚合中向量以元素为单位的总和。 返回一个向量,其中每个元素是所有输入向量中对应元素的总和。
Syntax
vector_sum(vectors) [FILTER ( WHERE cond ) ]
Arguments
-
向量:表示向量的表达式列
ARRAY<FLOAT>。 所有向量必须具有相同的维度。 - cond:可选的布尔表达式,用于筛选用于聚合的行。
退货
与 ARRAY<FLOAT> 输入向量具有相同维度的值。 结果中的每个元素都是所有输入向量中对应元素的总和。
NULL聚合中忽略包含NULL元素的值和非NULL向量。 返回NULL组中所有值是否无效(NULL或具有NULL元素的非NULL向量)。 如果所有输入向量均为空,则返回空数组 [] 。
备注
- 仅
ARRAY<FLOAT>受支持;其他类型的(例如ARRAY<DOUBLE>或ARRAY<DECIMAL>引发错误)。 - 所有输入向量必须具有相同的维度;否则,该函数将引发 VECTOR_DIMENSION_MISMATCH。
- 包含
NULL元素的非NULL向量被视为NULL。
错误条件
示例
-- Element-wise sum per category (with GROUP BY)
> SELECT category, vector_sum(embedding) AS sum_vector
FROM vector_data
GROUP BY category
ORDER BY category;
category: A, sum_vector: [5.0, 7.0, 9.0]
category: B, sum_vector: [5.0, 3.0, 5.0]
-- Scalar aggregation (without GROUP BY)
> SELECT vector_sum(embedding) AS total_sum FROM vector_data;
total_sum: [10.0, 10.0, 14.0]