UBT 用户行为分析平台 背景描述

UBT (User Behaviour Track) 用户行为分析平台

UBT 的项目成立的最原始目的是替换当前使用的收费平台(易观)


以下是这个项目的解决方案:

UBT 项目完全参考易观的项目架构来进行开发

项目分为两个阶段来完成

一阶段:

​ 使用易观SDK上报的数据,完成数据的ETL扁平化、分发、用户前端交互界面

二阶段:

​ 深入了解易观SDK埋点,替换易观SDK采集,优化用户前端交互界面

一阶段架构:

1
2
易观Kafka Post Topic -> CDH Kafka Topic -> Flink ETL -> Kafka Doris Routine Load Topic 
-> Doris Routine Load Task -> Doris Event/Profile Table
1.数据采集
1
2
3
易观Kafka数据使用 Flume 采集到 CDH 集群 Kafka
不直接从易观 Kafka 消费是因为,易观的 Kafka 版本为 0.8.*,Flink 不能与这么低版本的 Kafka 对接,所以使用 Flume 进行了数据的转发。
需要注意的是,Flume 的版本为1.6.0,这是 Flume 能够对接 Kafka 0.8.* 的最高版本。
2.数据清洗
1
2
3
数据清洗的部分主要有两个动作:
1. 将易观数据按照用户和事件两个主题进行拆分
2. 拆分后的Json数据扁平化,便于下游数据的导入
3.数据导入
1
2
3
使用 Doris Routine Load Task 进行数据的导入,目标表有两个:
1. Event Table,Doris 明细模型表,直接进行导入即可
2. Profile Table,Doris Unique 模型表,需要注意消息的乱序问题,建表时需要设置Sequence,Routine Load 需要配置排序字段