画像系统主要做了哪些事
1)用户信息标签化
2)对标签化的数据的应用(分群、洞察分析)
3)标签如何建模的,有哪些标签
根据用户需求,协调产品经理一起规划了四级标签。前两级是分类,第三级是标签,第四级是标签值。
项目整体架构
讲一下标签计算的调度过程
整个标签的批处理过程
四个任务:
(1)通过根据每个标签的业务逻辑编写 SQL,生产标签单表。
(2)把标签单表合并为标签宽表。
(3)把标签宽表导出到 Clickhouse 中的标签宽表。
(4)把 Clickhouse 中的标签表转储为 Bitmap 表。
四个任务通过编写 Spark 程序完成。并通过画像平台调度,以后新增标签只需要在平台填写标签定义、SQL 及相关参数即可。
你们的画像平台有哪些功能 ?
(1)标签定义
(2)标签任务设定
(3)任务调度
(4)任务监控
(5)分群创建维护
(6)人群洞察
是否做过 Web 应用开发,实现了什么功能
(1)画像平台 分群
(2)画像平台 其他功能(可选)
(3)实时数仓 数据接口
画像平台的上下游
(1)上游: 数仓系统
(2)下游: 写入到 Redis 中,由广告、运营系统访问。
BitMap 原理,及为什么可以提高性能
Bitmap 是一个二进制集合,用 0 或 1 标识某个值是否存在。
在求两个集合的交集运算时,不需要遍历两个集合,只要对位进行与运算即可。无论是比较次数的降低(从 O(N^2) 到O(N) ),还是比较方式的改善(位运算),都给性能带来巨大的提升。
业务场景:把每个标签的用户 id 集合放在一个 Bitmap 中,那多个标签求交集(比如:女性 + 90 后)这种分群筛选时,就可以通过两个标签的 Bitmap 求交集运算即可。