共用方式為


dcount_hll()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

計算 hllhll_merge 所產生的結果相異計數。

閱讀基礎演算法 (HyperLog Log) 和估計精確度

語法

dcount_hll(hll)

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
hll string ✔️ hllhll-merge 產生的表達式,用來尋找相異計數。

傳回

傳回 hll每個值的相異計數。

範例

下列範例顯示相異計數 hll 合併的結果。

StormEvents
| summarize hllRes = hll(DamageProperty) by bin(StartTime,10m)
| summarize hllMerged = hll_merge(hllRes)
| project dcount_hll(hllMerged)

輸出

dcount_hll_hllMerged
315

估計的正確性

此函式會使用 HyperLogLog (HLL) 演算法變體,它會對集合基數執行隨機估計。 此演算法提供「旋鈕」,可用來平衡每個記憶體大小的正確性和運行時間:

準確度 錯誤 ≤ 項目計數
0 1.6 212
1 0.8 214
2 0.4 216
3 0.28 217
4 0.2 218

注意

「進入計數」數據行是 HLL 實作中的 1 位元節計數器數目。

如果設定基數夠小,演算法會包含一些用於執行完美計數(零錯誤)的布建:

  • 當精確度層級為 1時,會傳回 1000 個值
  • 當精確度層級為 2時,會傳回8000個值

錯誤系結是概率的,而不是理論系結。 此值是誤差分佈的標準偏差(sigma),而 99.7% 的估計會有 3 x sigma 以下的相對誤差。

下圖顯示相對估計誤差的機率分佈函數,以百分比表示所有支援的精確度設定:

顯示 hll 錯誤分佈的圖表。