hll_merge()
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Unisce i risultati HLL. Si tratta della versione scalare della versione hll_merge()
di aggregazione .
Informazioni sull'algoritmo sottostante (HyperLog Log) e sull'accuratezza della stima.
Importante
I risultati di hll(), hll_if() e hll_merge() possono essere archiviati e recuperati in un secondo momento. Ad esempio, è possibile creare un riepilogo giornaliero univoco degli utenti, che può quindi essere usato per calcolare i conteggi settimanali. Tuttavia, la rappresentazione binaria precisa di questi risultati può cambiare nel tempo. Non esiste alcuna garanzia che queste funzioni producano risultati identici per gli input identici e pertanto non è consigliabile affidarsi a tali input.
Sintassi
hll_merge(
hll,
hll2,
[ hll3,
... ])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
hll, hll2, ... | string |
✔️ | Nomi di colonna contenenti valori HLL da unire. La funzione prevede un intervallo di 2-64 argomenti. |
Valori restituiti
Restituisce un valore HLL. Il valore è il risultato dell'unione delle colonne hll, hll2, ... hllN.
Esempi
In questo esempio viene illustrato il valore delle colonne unite.
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)
Output
dcount_hll_merged |
---|
20 |
Accuratezza della stima
Questa funzione usa una variante dell'algoritmo HyperLogLog (HLL), che esegue una stima stocastica della cardinalità set. L'algoritmo fornisce una "manopola" che può essere usata per bilanciare l'accuratezza e il tempo di esecuzione in base alle dimensioni della memoria:
Precisione | Errori (%) | Numero di voci |
---|---|---|
0 | 1.6 | 212 |
1 | 0,8 | 214 |
2 | 0.4 | 216 |
3 | 0.28 | 217 |
4 | 0.2 | 218 |
Nota
La colonna "Numero di voci" corrisponde al numero di contatori di 1 byte nell'implementazione di HLL.
L'algoritmo include alcune clausole per eseguire un conteggio perfetto (zero errori) se la cardinalità del set è sufficientemente piccola:
- Se il livello di accuratezza è
1
, vengono restituiti 1000 valori - Se il livello di accuratezza è
2
, vengono restituiti 8000 valori
Il limite di errore è probabilistico, non teorico. Il valore è la deviazione standard della distribuzione degli errori (sigma) e il 99,7% delle stime avrà un errore relativo inferiore a 3 x sigma.
L'immagine seguente mostra la funzione di distribuzione delle probabilità di errore relativo nella stima, in percentuali, per tutte le impostazioni di accuratezza supportate: