적용 대상:yes Databricks Runtime 18.1 이상으로 ![]()
집계에서 요소별 벡터 평균을 계산합니다. 각 요소가 모든 입력 벡터에서 해당 요소의 산술 평균인 벡터를 반환합니다.
문법
vector_avg(vectors) [FILTER ( WHERE cond ) ]
Arguments
-
vectors: 벡터를 나타내는 식의
ARRAY<FLOAT>열입니다. 모든 벡터는 동일한 차원을 가져야 합니다. - cond: 집계에 사용되는 행을 필터링하는 선택적 부울 식입니다.
Returns
ARRAY<FLOAT> 입력 벡터와 동일한 차원의 값입니다. 결과의 각 요소는 모든 입력 벡터에서 해당 요소의 평균입니다.
NULL값 및 요소를 포함하는 NULL 비NULL 벡터는 집계에서 무시됩니다.
NULL 그룹의 모든 값이 잘못된지 반환합니다. 모든 입력 벡터가 비어 있으면 빈 배열 [] 을 반환합니다.
Notes
- 만
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]