数据及报表概况
数据概况
由于是模拟日志,因此日志包含的信息是已知可控的。如果是生产场景的话,是需要进行ETL的,即需要从多个业务系统抽取数据到数仓。ETL的工作包含:数据探索、ETL策略、数据映射和存储过程开发。
- 数据探索:从技术上看,业务系统的数据库信息、库表信息、字段信息可能是模糊的。从业务上看,数据的业务属性也是需要了解的。这就是数据探索需要做的事情。
- ETL策略:ETL策略是指抽取数据的方法,现在一般有四种策略。
- Delete/Insert:全量删除再插入
- Update/Insert:有更新的数据直接更新,新增的直接插入
- History Chain历史拉链表:表内新增两个字段dw_begin_dt、dw_end_dt。将新增和有更新的数据插入成新记录;将有更新的数据之前的记录的dw_end_dt改为今天,形成数据封口。
- Append:仅插入新数据。
- 数据映射:指将业务系统的模型映射到目标表模型。
- 存储过程开发:泛指一种通用抽取方式的开发。
以下介绍模拟日志的日志数据结构:
{
"eventid": "viewConentDetailEvent", //事件类型id
"event": { //事件
"pgId": "986", //页面id
"contentType": "", //内容类型
"contentID": "00589", //内容id
"contentTile": "", //内容标题
"contentChannel": "", //内容频道
"contentTag": "" //内容标签
},
"user": { //用户
"uid": "365505", //用户id
"account": "", //用户账号
"email": "", //用户邮箱
"phoneNbr": "13287919711", //用户手机号码
"birthday": "", //用户生日
"isRegistered": "", //是否已注册
"isLogin": "", //是否登录
"addr": "", //地址
"gender": "", //性别
"phone": { //设备
"imei": "9569635641825837", //imei
"mac": "2f-93-d1-e4-5e-35-36", //mac
"imsi": "1706694213462619", //imsi
"osName": "android", //操作系统名称
"osVer": "10.0", //操作系统版本
"androidId": "4748e3fbf764a8ad", //安卓id
"resolution": "800*600", //分辨率
"deviceType": "HUAWEI_RY8", //设备类型
"deviceId": "", //设备id
"uuid": "sarSfmG2p7RFG1z3" //uuid
},
"app": { //app
"appid": "com.51doit.mall", //appid
"appVer": "2.1.9", //app版本
"release_ch": "优亿市场", //渠道
},
"loc": {
"areacode": 410212100, //地理位置
"longtitude": 114.44494017474185, //经度
"latitude": 34.754326317620627, //维度
"carrier": "ISP05",
"netType": "WIFI",
"cid_sn": "717218244878",
"ip": "182.162.105.105"
},
"sessionId": "sid-f0c05e1b-1f41-458e-bd3e-52a011ff43e5"
},
"timestamp": "1692168026000" //访问时间戳
}