HyperLogLog croquis - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

HyperLogLog croquis

Cette rubrique explique comment utiliser les HyperLogLog esquisses dans Amazon Redshift. HyperLogLog est un algorithme pour le problème du nombre distinct, qui donne une approximation du nombre d'éléments distincts dans un ensemble de données. HyperLogLog les esquisses sont des tableaux de données d'unicité concernant un ensemble de données.

HyperLogLogest un algorithme utilisé pour estimer la cardinalité d'un multiset. La cardinalité fait référence au nombre de valeurs distinctes dans un multi-ensemble. Par exemple, dans l'ensemble {4,3,6,2,2,6,4,3,6,2,2,3}, la cardinalité est 4 et les valeurs représentées sont 4, 3, 6 et 2.

La précision de l' HyperLogLog algorithme (également appelée valeur m) peut affecter la précision de la cardinalité estimée. Pour estimer la cardinalité, Amazon Redshift utilise une valeur de précision par défaut de 15. Cette valeur peut aller jusqu'à 26 pour les jeux de données plus petits. Ainsi, l'erreur relative moyenne se situe entre 0,01 et 0,6 %.

Lors du calcul de la cardinalité d'un multiensemble, l' HyperLogLog algorithme génère une construction appelée esquisse. HLL Une HLLesquisse encapsule les informations relatives aux valeurs distinctes d'un multiensemble. Le type de données Amazon Redshift HLLSKETCH représente ces valeurs d'esquisse. Ce type de données peut être utilisé pour stocker des esquisses dans une table Amazon Redshift. En outre, Amazon Redshift prend en charge les opérations qui peuvent être appliquées aux HLLSKETCH valeurs sous forme de fonctions agrégées et scalaires. Vous pouvez utiliser ces fonctions pour extraire la cardinalité d'un HLLSKETCH et combiner plusieurs HLLSKETCH valeurs.

Le type de HLLSKETCH données offre des avantages significatifs en termes de performances de requête lors de l'extraction de la cardinalité de grands ensembles de données. Vous pouvez préagréger ces ensembles de données à l'aide de HLLSKETCH valeurs et les stocker dans des tables. Amazon Redshift peut extraire la cardinalité directement à partir des HLLSKETCH valeurs stockées sans accéder aux ensembles de données sous-jacents.

Lors du traitement HLL des esquisses, Amazon Redshift effectue des optimisations qui minimisent l'empreinte mémoire de l'esquisse et optimisent la précision de la cardinalité extraite. Amazon Redshift utilise deux représentations pour les HLL esquisses : une représentation clairsemée et une représentation dense. Et HLLSKETCH commence dans un format clairsemé. Sa taille augmente à mesure de l'insertion de nouvelles valeurs. Dès que la taille atteint celle de la représentation dense, Amazon Redshift convertit automatiquement l'esquisse du format fragmenté au format dense.

Amazon Redshift importe, exporte et imprime une image JSON lorsque HLLSKETCH l'esquisse est dans un format fragmenté. Amazon Redshift importe, exporte et imprime une chaîne HLLSKETCH sous forme de chaîne Base64 lorsque l'esquisse est au format dense. Pour plus d'informations surUNLOAD, voirDéchargement du type de HLLSKETCH données. Pour importer du texte ou des données de valeurs séparées par des virgules (CSV) dans Amazon Redshift, utilisez la commande. COPY Pour de plus amples informations, veuillez consulter Chargement du type de HLLSKETCH données.

Pour plus d'informations sur les fonctions utilisées avec HyperLogLog, consultezHyperLogLog fonctions.