SuperAPI AI 工具集

hologres-bsi-profile-analysis

设计与创作

查看项目

更新于 10-16 04:59

技能介绍

用途:基于 Hologres 的 BSI(Bit-sliced Index,位切片索引)方案做用户画像分析,对行为标签(GMV、PV、观看时长等)与属性标签(省份、性别等)进行联合计算。方案架构为 Hologres 实例 + Roaring Bitmap 扩展 + BSI 扩展 + UID 字典编码 + 属性标签 Bitmap + 行为标签 BSI。

主要能力:属性标签用 Roaring Bitmap 存储,行为标签用 BSI 压缩存储,可直接联合分析而无需回溯明细表;支持人群圈选后求和/均值、按边界值做分布统计、Top K 查询,以及基于行为标签阈值(bsi_gt/ge/lt/le/range/eq/neq)圈选人群。BSI 以最多 32 个位切片存储 INT 范围内的值。

使用方式:需先安装 hologres-cli:pip install hologres-cli,并设置 export HOLOGRES_SKILL=hologres-bsi-profile-analysis。所有 SQL 通过 hologres sql run 执行,写操作需加 --write。需先安装扩展:CREATE EXTENSION IF NOT EXISTS roaringbitmap; CREATE EXTENSION IF NOT EXISTS bsi;。典型流程为建表(dws_userbase、dws_uid_dict、usershop_behavior、rb_tag、bsi_gmv)、导入数据(rb_build_agg 构建属性 Bitmap,bsi_build 构建行为 BSI,需 integer[] 与 bigint[] 数组参数)、再执行查询。

适用场景:用户画像标签计算、属性+行为标签联合圈选、GMV 分析、标签分布统计、Top K、分桶并行计算。

限制:安装扩展、建表、数据导入等写操作需 --write 标志与相应权限;UID 字典编码需在导入前完成,增量维护由用户自行管理;源数据表需用户指定;分桶数选择不可自动化,需结合集群规模与数据量调优;BSI 值须在 INT 范围内。只读查询可完全自动化。