项目一:娱乐社交互联网公司埋点系统+用户行为日志分析系统+实时数仓
技术栈:Flink + Kafka/SLS + Hologres + Maxcompute
项目描述: 用户行为日志收集和分析系统原来使用的神策数据提供服务,没有自己的离线数仓和实时数仓。但是在业务发展越来越多 样化和用户量越来越大的背景之下,神策数据已经满足不了目前的数据需求。为了替换掉神策同时建设自己的离线和实时数仓, 数据智能团队开始 自有埋点系统和实时数仓的建设。
个人项目职责:
本人在该项目中主要负责整个项目的工程架构设计和技术选型,核心代码的编写,协调各端开发和测试的工作,推动整个项目在业务侧的落地。
1 埋点系统建设
埋点系统建设主要分为三部分:埋点 SDK 研发、埋点模型设计、埋点规范制定。考虑到项目开发效率和技术成熟度,最终采用了神策开源的 SDK 作为埋点上报 SDK,同时做到了全公司各业务各端 SDK 统一化和标准化,制定了埋点端到端采集的规范,设计出灵活、全面、复用性高的埋点模型。
2.埋点日志收集及在线分析系统建设
埋点日志收集及在线分析系统分为三部分:埋点日志收集技术架构设计、埋点日志实时 ETL 技术选型、OLAP 组件选型。 针对需求分别设计了开源组件架构和云原生组件架构两种架构方案,在技术完整性、项目成本、项目可维护性等考虑之下最终选择了云原生组件架构。该项目使用阿里云日志服务(SLS)作为日志接收、传输和日志总线组件,使用Flink进行用户埋点ID-MAPPING和埋点日志实时ETL,使用分析型数据库 Hologres 作为埋点日志存储和 OLAP 分析组件。
3.实时数仓建设
实时数仓选用 SLS+Flink+Hologres 的架构。数据模型分三层,ODS->DWS->ADS。ODS 层明细数据存储在 Hologres 列存事件表进行 OLAP 分析。DWD 层数据按照主题整合,构建可复用的 DWS 层,减少烟囱化。由于 Hologres 同时支持行存和列存,ADS 层指标数据直接输出 Hologres 行存表对外提供服务。
项目二 信息流广告监测及归因系统
技术栈:SpringBoot + kafka + Maxcompute + Hologres + Flink
项目描述:广告投放主要为各种信息流渠道和应用商店渠道,之前使用第三方平台对投放广告进行监测和用户归因。但是面临着很多 问题,比如归因准确性,数据安全和投放数据回收应用等问题,针对以上问题开发了自己的信息流广告监测和归因系统。
个人项目职责:
1.广告监测服务 目前主流的信息流广告商都提供了广告监测链接模板,使用该模板生成针对性的广告监测链接,广告监测链接的属性信息会带有渠道ID、广告ID、用户设备 MEI、用户设备指纹等信息。广告曝光和被用户点击时就会对广告监测服务发生请求。该服务使用 SpringBoot 开发,后端收到用户请求之后会对将请求数据发给 kafka。kafka 的数据会对接 Maxcompute 做离线 归因和 Flink 进行实时归因。
2.信息流广告数据对接服务 用户激活和注册数据也写入kafka,Flink 实时消费用户激活和注册数据之后进行实时归因,归因平台拿到两方数据后,通过 数据分析,将广告平台的数据跟用户行为联系起来,最终将归因匹配的结果上报给广告商。