Condividi tramite


hll_merge() (funzione di aggregazione)

Si applica a: ✅Microsoft Fabric✅Azure Esplora dati Azure MonitorMicrosoft Sentinel

Unisce i risultati HLL nel gruppo in un singolo valore HLL.

Nota

Non è possibile unire valori hll creati usando valori di accuratezza diversi. Per altre informazioni, vedere hll().

Nota

Questa funzione viene usata insieme all'operatore summarize.

Per altre informazioni, vedere l'algoritmo sottostante (HyperL og Log) e l'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)

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
hll string ✔️ Nome della colonna contenente i valori HLL da unire.

Valori restituiti

La funzione restituisce i valori HLL uniti di hll nel gruppo.

Suggerimento

Usare la funzione dcount_hll per calcolare le dcount funzioni di aggregazione hll() e hll_merge().

Esempio

L'esempio seguente mostra i risultati HLL in un gruppo unito in un singolo valore HLL.

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

Output

I risultati mostrano solo i primi cinque risultati nella matrice.

hllMerged
[[1024,14],["-6903255281122589438","-7413697181929588220","-2396604341988936699","5824198135224880646","-6257421034880415225", ...],[]]

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:

Grafico che mostra la distribuzione degli errori hll.