적용 대상:
Databricks SQL
Databricks Runtime 18.0 이상으로 표시
여러 Theta Sketch 버퍼를 사용하고 집합 공용 구조체를 사용하여 하나의 결과 버퍼에 병합합니다. 이 함수를 사용하여 여러 파티션 또는 기간의 스케치를 결합합니다.
문법
theta_union_agg ( sketch [, lgNomEntries ] )
Arguments
-
sketch: 이진 형식의 세타 스케치(예: 집계 함수에서
theta_sketch_agg). -
lgNomEntries: 공용 구조체 버퍼에 대한 명목 항목의 log-base-2를 지정하는 선택적 리터럴
INTEGER입니다. 4에서 26 사이여야 합니다. 기본값은 12입니다. 값이 높을수록 정확도가 향상되지만 더 많은 메모리를 사용합니다.
Returns
BINARY 모든 입력 스케치의 합집합을 나타내는 병합된 직렬화된 Theta Sketch를 포함하는 값입니다.
비고
- 공용 구조체 작업은 다른
lgNomEntries값으로 입력 스케치를 처리합니다. -
NULL값은 집계하는 동안 무시됩니다. - 정확히 두 개의 스케치를 병합하려면 스칼라
theta_union함수 함수를 대신 사용합니다.
오류 메시지
예시
-- Merge sketches from different groups
> SELECT theta_sketch_estimate(theta_union_agg(sketch)) FROM (
SELECT theta_sketch_agg(col) AS sketch FROM VALUES (1), (2), (3) AS tab(col)
UNION ALL
SELECT theta_sketch_agg(col) AS sketch FROM VALUES (3), (4), (5) AS tab(col)
) t;
5
-- Merge sketches with custom lgNomEntries
> SELECT theta_sketch_estimate(theta_union_agg(sketch, 15)) FROM (
SELECT theta_sketch_agg(col) AS sketch FROM VALUES (1), (2) AS tab(col)
UNION ALL
SELECT theta_sketch_agg(col, 20) AS sketch FROM VALUES (2), (3) AS tab(col)
) t;
3