开源用户行为分析平台(Nginx+Flume+kafka +Flink + HDFS)
一、平台简介
小编本次介绍的开源项目,是通过数据分析来识别用户行为,建立以用户为中心的低成本快速增长的用户行为分析平台产品,包括用户埋点数据采集、用户标签分群和画像、智慧运营、营销等。项目采用Nginx+Flume+kafka实现日志收集,Flink进行实时流处理,ClickHouse作为实时数仓,HDFS作为数据备份。
本开源项目内容包括nginx环境配置、Flume解密和日志格式处理、将明文数据存放到kafka的Topic下、Flink消费后将埋点数据存入HDFS的关键4步操作。为方便前期埋点的校验调优,在kafka环节,增加了埋点解析数据JSON格式存入MySQL。
二、技术架构
SDK埋点采集行为数据来源终端包括iOS、安卓、Web、H5、微信小程序等。不同终端SDK采用对应平台和主流语言的SDK,埋点采集到的数据通过JSON数据以HTTP POST方式提交到服务端API。 服务端API由数据接入系统组成,采用Nginx来接收通过 API 发送的数据,并且将之写到日志文件上。使用Nginx实现高可靠性与高可扩展性。 对于Nginx打印到文件的日志,会由Flume的 Source 模块来实时读取Nginx日志,并由Channel模块进行数据处理,最终通过Sink模块将处理结果发布到 Kafka中。


三、工作流程
完成数据采集技术构建和业务设计,在App、小程序的系统供应商配合下完成用户行为数据采集埋点,并基于埋点的数据构建线上用户行为标签和画像。

四、项目主要内容
日志采集(Flume+kafka)
日志入库(Flink+HDFS)
五、界面展示




