大数据

ClickHouse的近似值计算

2021-07-27  本文已影响0人  代码足迹

最近在使用基于Bitmap来计算人群,发现预估出来的人群数有出入。
使用的是以下的SQL

select uniqArray(bitmapToArray(btm_ids)) FROM testlabel

后来经过查资料发现,uniqArray(array_xxx) 相当于 uniq(arrayJoin(array_xxx))
而uniq是一个近似数量的计算,所以计算出来的结果有时会有出入,但不会差很远。

当然如果只是需要计算人群的数量有个更方便的方法:

select toTypeName(btm_ids), bitmapCardinality(btm_ids) FROM testlabel
上一篇下一篇

猜你喜欢

热点阅读