BITMAP

description

  1. BITMAP
  2. BITMAP不能作为key列使用,建表时配合聚合类型为BITMAP_UNION
  3. 用户不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。
  4. 并且BITMAP列只能通过配套的bitmap_union_countbitmap_unionbitmap_hashbitmap_hash64等函数进行查询或使用。
  5. 离线场景下使用BITMAP会影响导入速度,在数据量大的情况下查询速度会慢于HLL,并优于Count Distinct
  6. 注意:实时场景下BITMAP如果不使用全局字典,使用了bitmap_hash()可能会导致有千分之一左右的误差。如果这个误差不可接受,可以使用bitmap_hash64

example

  1. select hour, BITMAP_UNION_COUNT(pv) over(order by hour) uv from(
  2. select hour, BITMAP_UNION(device_id) as pv
  3. from metric_table -- 查询每小时的累计UV
  4. where datekey=20200622
  5. group by hour order by 1
  6. ) final;

keywords

  1. BITMAP