写点什么

大数据训练营一期 0919 作业

作者:朱磊
  • 2021 年 11 月 17 日
  • 本文字数:400 字

    阅读完需:约 1 分钟

HyperLogLog 算法在 Presto 的应用

  1. 搜索 HyperLogLog 算法相关内容,了解其原理,写出 5 条 HyperLogLog 的用途或大数据场景下的实际案例。

答:

HyperLogLog 是一个用于集合去重计数的算法,估算在一批数据中,不重复的元素的个数有多少个。 它是近似相等的,特点:

当集合元素数量非常多时,它计算基数所需的空间总是固定的,而且还很小(稳定占用 12k 左右内存,可以统计 2^64 个元素)

统计规则基于概率完成,统计结果有误差,大约 0.81%

原理: https://www.cnblogs.com/54chensongxia/p/13803465.html

使用:

Flink 海量数据高效去重统计 UV

HyperLogLog 的 Java 实现代码

HLL hll = new HLL(13/*log2m*/, 5/*registerWidth*/);

hll.addRaw(1);

hll.cardinality();


  1. 在本地 docker 环境或阿里云 e-mapreduce 环境进行 SQL 查询,要求在 Presto 中使用 HyperLogLog 计算近似基数。(请自行创建表并插入若干数据)


  1. 学习使用 Presto-Jdbc 库连接 docker 或 e-mapreduce 环境,重

复上述查询。(选做)

用户头像

朱磊

关注

还未添加个人签名 2017.12.06 加入

还未添加个人简介

评论

发布
暂无评论
大数据训练营一期0919作业