搜索HyperLogLog算法相关内容,了解其原理,写出5条 HyperLogLog的用途或大数据场景下的实际案例
概念HyperLogLog是一种高级数据结构,是用来统计基数,也称为基数计数算法
基数计数(cardinality counting)是实际应用中一种常见的计算场景,在数据分析、网络监控及数据库优化等领域都有相关需求。精确的基数计数算法由于种种原因,在面对大数据场景时往往力不从心,因此如何在误差可控的情况下对基数进行估计就显得十分重要。目前常见的基数估计算法有Linear Counting、LogLog Counting、HyperLogLog Counting及Adaptive Counting等。这几种算法都是基于概率统计理论所设计的概率算法,它们克服了精确基数计数算法的诸多弊端(如内存需求过大或难以合并等),同时可以通过一定手段将误差控制在所要求的范围内
使用场景基数大,数据量大
如果基数、数据量太小会造成空间浪费;其次只能统计基数数量,并不能知道数据的具体内容
1、实时的在线人数
2、每日的访问量
在本地Docker环境或阿里云E-Mapreduce环境进行SQL查询, 要求在Presto中使用HyperLogLog计算近似基数(请自行创建表并插入若干数据)



