我是靠谱客的博主 幸福小刺猬,最近开发中收集的这篇文章主要介绍HLL 算法(HyperLogLog),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

HyperLogLog,下面简称为HLL,它是 LogLog 算法的升级版,作用是能够提供不精确的去重计数。存在以下的特点:

代码实现较难。

能够使用极少的内存来统计巨量的数据,在 Redis 中实现的 HyperLogLog,只需要12K内存就能统计2^64个数据。

计数存在一定的误差,误差率整体较低。标准误差为 0.81% 。

误差可以被设置辅助计算因子进行降低。

 

特点--关键词

1.比特串

 

2.分桶

 

3:偏差修正

 

方法

pfadd key value,将 key 对应的一个 value 存入

pfcount key,统计 key 的 value 有多少个

 

应用场景

基数不大,数据量不大就用不上,会有点大材小用浪费空间

有局限性,就是只能统计基数数量,而没办法去知道具体的内容是什么

和bitmap相比,属于两种特定统计情况,简单来说,HyperLogLog 去重比 bitmap 方便很多

一般可以bitmap和hyperloglog配合使用,bitmap标识哪些用户活跃,hyperloglog计数

 

一般使用:

统计注册 IP 数

统计每日访问 IP 数

统计页面实时 UV 数

统计在线用户数

统计用户每天搜索不同词条的个数

最后

以上就是幸福小刺猬为你收集整理的HLL 算法(HyperLogLog)的全部内容,希望文章能够帮你解决HLL 算法(HyperLogLog)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部