다음을 통해 공유


hll_merge()

적용 대상: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

HLL 결과를 병합합니다. 집계 버전의 스칼라 버전 hll_merge()입니다.

기본 알고리즘(H yperL ogLog) 및 추정 정확도에 대해 알아봅니다.

Important

hll(), hll_if() 및 hll_merge()의 결과를 저장하고 나중에 검색할 수 있습니다. 예를 들어 일별 고유 사용자 요약을 만든 다음 주간 수를 계산하는 데 사용할 수 있습니다. 그러나 이러한 결과의 정확한 이진 표현은 시간이 지남에 따라 변경 될 수 있습니다. 이러한 함수가 동일한 입력에 대해 동일한 결과를 생성한다는 보장은 없으므로 이러한 함수를 사용하는 것이 좋습니다.

구문

hll_merge(hll, hll2, [ hll3, ... ])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
hll, hll2, ... string ✔️ 병합할 HLL 값을 포함하는 열 이름입니다. 함수는 2-64 인수 사이를 예상합니다.

반품

하나의 HLL 값을 반환합니다. 값은 hll, hll2, ... hllN.

예제

이 예제에서는 병합된 열의 값을 보여 줍니다.

range x from 1 to 10 step 1 
| extend y = x + 10
| summarize hll_x = hll(x), hll_y = hll(y)
| project merged = hll_merge(hll_x, hll_y)
| project dcount_hll(merged)

출력

dcount_hll_merged
20

추정 정확도

이 함수는 집합 카디널리티의 확률적 추정을 수행하는 HLL(HyperLogLog) 알고리즘의 변형을 사용합니다. 알고리즘은 메모리 크기당 정확도 및 실행 시간의 균형을 맞추는 데 사용할 수 있는 "노브"를 제공합니다.

정확도(Accuracy) 오류(%) 항목 수
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

참고 항목

"항목 수" 열은 HLL 구현에서 1 바이트 카운터의 수입니다.

알고리즘에는 집합 카디널리티가 충분히 작은 경우 완벽한 개수(오류 0개)를 수행하기 위한 몇 가지 프로비저닝이 포함됩니다.

  • 정확도 수준이 1이면 1000개의 값이 반환됩니다.
  • 정확도 수준이 2이면 8000개의 값이 반환됩니다.

바인딩된 오류는 이론적 바운드가 아닌 확률입니다. 값은 오류 분포의 표준 편차(시그마)이며 예측의 99.7%는 3 x 시그마 미만의 상대 오차를 갖습니다.

다음 이미지는 지원되는 모든 정확도 설정에 대한 상대 예측 오류의 확률 분포 함수를 백분율로 보여 줍니다.

hll 오류 분포를 보여 주는 그래프입니다.