HLL算法
来源:互联网 发布:网络上jr是什么意思 编辑:程序博客网 时间:2024/05/22 07:42
HLL算法,主要是用于统计一系列数据中的不同数目的个数,是一个概率性的算法,在空间上有很大优势。
HLL算法步骤:
- 1 选定一个hash函数,把给定的数据hash为一个32位bit数据(不一定是32位)
- 2 统计每个数据中第一次出现1的位置(k1, k2, k3....
- 3 k = max(k1, k2, k3 ...)
- 4 那么不同个数result = 2^k
为了使结果更加准确,可以使用分桶的方法,然后取平均数的做法。
HLL算法步骤:
- 1 选定一个hash函数,把给定的数据hash为一个32位bit数据(不一定是32位)
- 2 统计每个数据中第一次出现1的位置(k1, k2, k3....
- 3 k = max(k1, k2, k3 ...)
- 4 那么不同个数result = 2^k
为了使结果更加准确,可以使用分桶的方法,然后取平均数的做法。
其中redis的hyperloglog.c就是采用了HLL算法来实现redis中基数统计的。
更为详细的算法原理以及实现可以搜索HLL或者hyperloglog算法等关键词来获取。。
随便贴个链接吧。。
http://www.arthuryangcs.com/2016/12/26/Redis%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90%EF%BC%88%E4%BA%8C%EF%BC%89-HyperLogLog%E5%B0%8F%E8%AE%AE/
http://blog.csdn.net/firenet1/article/details/77247649
一个在线的例子http://content.research.neustar.biz/blog/hll.html
阅读全文
0 0
- HLL算法
- HLL select from 语言
- 内存替换redis hll
- C-to-hardware compiler (HLL synthesis)
- 关注各种高级语言虚拟机(high-level language virtual machine,HLL VM)的设计与实现,泛化至各种高级语言的运行时的设计与实现,也会涉及动态编译、GC、动态语言的编
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 例 5.9 输入一个大于3的整数n,判定它是否为素数(prime,又称质数)。
- 数据集划分函数 train_test_split()
- Dubbo的两种启动模式,基于注解的和基于XML配置的
- JavaEsSpark.esJsonRDD函数读取ES数据报错
- log4net日志记录 轻松上手
- HLL算法
- node.js中的全局变量——global
- NDK support for project 'XXXX' is disabled because the project doesn't contain any valid native
- JavaScript中的数据类型以及使用
- 取出Oracle数据库中Blob类型的未编码图片流显示在JSP页面上
- ionic 实现侧滑小demo
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战015--DateSet实用API详解015
- 前后端分开开发
- linux安装、配置、使用supervisor