模块名称 | 完成情况 |
---|---|
用户基本信息分析(MR)� | 完成 |
浏览器信息分析(MR) | 完成 |
地域信息分析(MR) | 未完成 |
外链信息分析(MR) | 未完成 |
用户浏览深度分析(Hive) | 未完成 |
订单分析(Hive) | 未完成 |
事件分析(Hive) | 未完成 |
在地域信息分析模块中, 我们只统计活跃用户、总会话数以及跳出会话个数这三个指标的信息, 那么我看将代码写出之前的模式,一个分析指标写一个mapreduce; 也可以将这三个指标的统计都放到一个mapreduce程序中去操作; 还可以将活跃用户统计和总会话数统计放到以前的active_user和sessions这两个job中, 单独写一个计算跳出会话个数的job来统计最后一个指标。 在这里我们采用介绍第二种方式,也就是讲所有的指标写到一个mapreduce程序中,方便安装模块进行后期维护。
地域维度信息(不考虑平台platform和日期date), 我们需要统计三个层面的数据, 即:国家级别、省份级别、城市级别。也就是说需要分别统计这三个维度的活跃用户、总会话以及跳出会话个数。 日期维度只按天计算数据,不进行按月和按周计算。 平台维度计算一个all维度和一个具体的平台维度。 需要原始数据:国家、省份、城市、uuid、serverTime、platform这六个维度的字段信息(或者加一个ip地址), 所以在当前只有pc端数据和后台服务端数据的情况下, 只需要对pageview事件的数据进行统计计算就可以了。
在维度确定的情况下,活跃用户统计就是统计uuid(用户唯一标识符)的去重个数; 总会话个数就是统计u_sd(会话id)的去重个数; 跳出会话个数就是统计只访问一个pv的会话总个数,而且pv的计算是统计访问次数来进行判断的,也就是说pv不去重。 也就是说最终只需要uuid和u_sd就可以进行判断操作了。 统计的最终数据保存到表:stats_device_location表的active_users、sessions以及bounce_sessions三列上。 涉及到其他表有:dimension_platform、dimension_date以及dimension_location。