原文:HyperLoglog算法在Uv实时统计中的应用

传统的Uv实时统计方法以及其缺点 给定时间段条件下,实时统计Uv就是统计不重复的访客数。 最简单的方法就是把用户唯一id存储到集合中,每次有新访客,就把向集合新增元素。 但是当数据量千万级别的时候,无论是内存中,还是redis等外部系统中,集合新增元素的效率都很低。 HyperLoglog 在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。 概率算法不直接存储数据集合本身,通过一定的 ...

2019-01-26 22:57 0 1148 推荐指数:

查看详情

Redis实战篇(三)基于HyperLogLog实现UV统计功能

如果现在要开发一个功能: 统计APP或网页的一个页面,每天有多少用户点击进入的次数。同一个用户的反复点击进入记为 1 次,也就是统计 UV 数据。 让你来开发这个统计模块,你会如何实现? 如果统计 PV 数据,只要给网页一个独立的 Redis 计数器就可以了,这个计数器 ...

Wed Mar 31 17:31:00 CST 2021 0 484
Flink 实时统计历史 pv、uv

Flink 实时统计 pv、uv 的博客,我已经写了三篇,最近这段时间又做了个尝试,用 sql 来计算全量数据的 pv、uv。 Stream Api 写实时、离线的 pv、uv ,除了要写代码没什么其他的障碍 SQL api 来写就有很多障碍,比如窗口没有 trigger,不能操作 状态 ...

Tue Apr 19 05:22:00 CST 2022 0 2457
Hyperloglog算法

什么是Hyperloglog? 一个在大数据量下统计基数的算法, 占用内存小, 误差小, 但是会损失一定精度(Kylin需要高精度可以用bitmap)。 作为数据人, 我们为何要了解它? 它与我们的部分实际业务是有关联的, 理解原理能更好的做好工作。 应用 ...

Wed Oct 07 20:11:00 CST 2020 0 939
HyperLogLog算法

项目在统计UV/PV时用到了Druid的Hyper hyperunique算法,书上介绍这种算法求出的UV/PV存在一定误差,因此需要了解下误差来自哪里。 实现去重功能,最简单的就是使用set记录集合本身,缺点与前面Bloom Filter差不多,显而易见,需要大量内存空间 ...

Thu Apr 25 06:42:00 CST 2019 0 948
11. 优秀的基数统计算法--HyperLogLog

楔子 在我们实际开发的过程,可能会遇到这样一个问题,当我们需要统计一个大型网站的独立访问次数时,该用什么的类型来统计? 如果我们使用 Redis 的集合来统计,当它每天有数千万级别的访问时,将会是一个巨大的问题。因为这些访问量不能被清空,我们运营人员可能会随时查看这些信息,那么随着时间 ...

Fri Jul 17 07:04:00 CST 2020 0 898
Redis 集合统计HyperLogLog

统计功能是一类极为常见的需求,比如下面这个场景: 为了决定某个功能是否在下个迭代版本中保留,产品会要求统计页面在上新前后的 UV 作为决策依据。 简单来说就是统计一天内,某个页面的访问用户量,如果相同的用户再次访问,也只算记为一次访问。 下面我们将从这个场景出发,讨论如何选择的合适 ...

Sun Feb 14 06:27:00 CST 2021 0 659
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM