druid.io 使用Hyperloglog 估计基数

参照如下连接

http://blog.codinglabs.org/articles/algorithms-for-cardinality-estimation-part-i.html

http://blog.codinglabs.org/articles/algorithms-for-cardinality-estimation-part-ii.html

http://blog.codinglabs.org/articles/algorithms-for-cardinality-estimation-part-iii.html

http://blog.codinglabs.org/articles/algorithms-for-cardinality-estimation-part-iv.html

基数估计算法就是使用准确性换取空间。为了说明这一点,我们用三种不同的计算方法统计所有莎士比亚作品中不同单词的数量。请注意,我们的输入数据集增加了额外的数据以致比问题的参考基数更高。这三种技术是:Java HashSet、Linear Probabilistic Counter以及一个Hyper LogLog Counter。结果如下:

该表显示,我们统计这些单词只用了512 bytes,而误差在3%以内。相比之下,HashMap的计数准确度最高,但需要近10MB的空间,你可以很容易地看到为什么基数估计是有用的。在实际应用中准确性并不是很重要的,这是事实,在大多数网络规模和网络计算的情况下,用概率计数器会节省巨大的空间。

最新文章

  1. C语言 · 阶乘计算 · 基础练习
  2. kafka集群zookeeper集群详细配置
  3. PHP功能齐全的发送邮件类
  4. js对象数组按属性快速排序
  5. [开发笔记]-使用bat命令来快速安装和卸载Service服务
  6. SA 的参数
  7. Visual Studio原生开发的10个调试技巧(一)
  8. hdu 4039 暴力
  9. OpenCV - Operations on Arrays 对数组(矩阵)的一些操作
  10. kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
  11. ubuntu14.04 install flow.
  12. Windows 8 动手实验系列教程 实验8:Windows应用商店API
  13. 15-TypeScript策略模式
  14. The 15th tip of DB Query Analyzer
  15. Django-F,Q查询,Templatetags,session,中间件
  16. iOS 限制TextField输入长度(支持删除)
  17. 利用PIL创建验证码
  18. java bio总结
  19. Python之队列Queue
  20. 20171113xlVba指定文件夹多簿多表分表合并150

热门文章

  1. HDU1010(dfs+剪枝)
  2. Linux下进程描述(1)—进程控制块【转】
  3. Launcher3自定义壁纸旋转后拉伸无法恢复
  4. HTTP===如何理解网关
  5. FluentValidation具体使用案例
  6. Selenium2+python自动化40-cookie相关操作【转载】
  7. 关于mysql数据库的表概况 ,查看表状态
  8. PHP的普通传值与引用传值以及unset
  9. [mysql] 添加用户,赋予不同的管理权限
  10. centos6.5 卸载adobeflash