概述
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)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复