Utilisation de HyperLogLog croquis dans Amazon Redshift - 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.

Utilisation de HyperLogLog croquis dans Amazon Redshift

HyperLogLe log est 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 esquisse HLL encapsule des informations sur les valeurs distinctes d'un multi-ensemble. 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. De plus, Amazon Redshift prend en charge les opérations pouvant être appliquées aux valeurs HLLSKETCH en tant que fonctions d'agrégation et scalaires. Vous pouvez utiliser ces fonctions pour extraire la cardinalité d'un HLLSKETCH et combiner plusieurs valeurs HLLSKETCH.

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

Lors du traitement des esquisses HLL, Amazon Redshift effectue des optimisations qui minimisent l'empreinte mémoire de l'esquisse et maximisent la précision de la cardinalité extraite. Amazon Redshift utilise deux représentations pour les esquisses HLL : fragmentées et denses. Une HLLSKETCH démarre dans un format fragmenté. 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 HLLSKETCH au format JSON lorsque l'esquisse est dans un format fragmenté. Amazon Redshift importe, exporte et imprime une HLLSKETCH en tant que chaîne Base64 lorsque l'esquisse est dans un format dense. Pour plus d'informations sur la commande UNLOAD, consultez Déchargement du type de données HLLSKETCH. Pour importer du texte ou des données CSV dans Amazon Redshift, utilisez la commande COPY. Pour plus d’informations, consultez Chargement du type de données HLLSKETCH.

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