背景
用户在手机和pc端使用客户业务产品,比如浏览网页,购买商品,查看文档,观看视频,直播,IOT场景;会产生大量的用户行为数据,主要包括:
- 非结构化数据:日志(前端事件埋点日志,服务端处理事件日志),还有些非结构化的图片,音视频数据等等,主要存放在文件存储系统中;
- 结构化和半结构化数据: 用户操作产品写入的结构化数据存放于数据库表中,将文档型半结构化的数据放入文档数据库中;
需要分析用户的行为数据,进行决策;分为实时流式处理和离线批处理:
- 实时流处理,主要用于实时展现客户端看板,后台BI实时分析,实时风控/推荐,异常报警等场景;
- 离线批处理,分析用户历史数据,进行推荐算法等机器学习算法模型训练使用,数据仓库中根据不同维度对数据过滤聚合,进行上卷下钻分析,比如计算DAU,WAU,MAU,转化率(购买率,注册率)分析等,通常对数据建设投入多的话, 会把用户产生的结构化非结构化的数据都存下,放在一个大的池子里待使用时进行分析,即所谓的数据湖,围湖而建挖掘数据价值;而数仓相对精细化的分析,前置建模建表分析;
对此进行方案分析,本文将介绍一种实时离线处理分析用户行为数据方案,即能帮助企业低成本地使用海量数据,又能更快速地响应业务需求,同时借助亚马逊云科技的托管服务,能够快速实施和轻松运维。