1 数据仓库
目的:通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等
2 需求分析
- 实时采集埋点的用户行为数据
- 实现数据仓库的分层搭建
- 每天定时导入业务数据
- 根据数据仓库中的数据进行报表分析
埋点用户行为数据:
用户在使用产品过程中,与客户端产品交互过程中产生的数据,比如页面浏览、点击、停留、评论、点赞、收藏等
业务交互数据:
业务流程中产生的登录、订单、用户、商品、支付等相关的数据,通常存储在DB找那个,包括MySQL、orcale等。
3 集群规划
4 事件日志数据
{
"ap":"xxxxx",//项目数据来源 app pc
"cm": { //公共字段
"mid": "", // (String) 设备唯一标识
"uid": "", // (String) 用户标识
"vc": "1", // (String) versionCode,程序版本号
"vn": "1.0", // (String) versionName,程序版本名
"l": "zh", // (String) language 系统语言
"sr": "", // (String) 渠道号,应用从哪个渠道来的。
"os": "7.1.1", // (String) Android 系统版本
"ar": "CN", // (String) area 区域
"md": "BBB100-1", // (String) model 手机型号
"ba": "blackberry", // (String) brand 手机品牌
"sv": "V2.2.1", // (String) sdkVersion
"g": "", // (String) gmail
"hw": "1620x1080", // (String) heightXwidth,屏幕宽高
"t": "1506047606608", // (String) 客户端日志产生时的时间
"nw": "WIFI", // (String) 网络模式
"ln": 0, // (double) lng 经度
"la": 0 // (double) lat 纬度
},
"et": [ //事件
{
"ett": "1506047605364", //客户端事件产生时间
"en": "display", //事件名称
"kv": { //事件结果,以 key-value 形式自行定义
"goodsid": "236",
"action": "1",
"extend1": "1",
"place": "2",
"category": "75"
}
}
]
}
5 数据分层:
目的:
- 把复杂问题简单化
- 清晰数据结构
- 减少重复开发
- 隔离原始数据
结构:
- ODS层(原始数据层)
- DWD(明细数据层)
- DWS层(服务数据层)
- ADS层(数据应用层)