首页
学习
活动
专区
圈层
工具
发布

Hadoop离线数据分析平台实战——360地域信息分析Hadoop离线数据分析平台实战——360地域信息分析

Hadoop离线数据分析平台实战——360地域信息分析

项目进度

模块名称

完成情况

用户基本信息分析(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。

编码步骤

  1. 编写操作dimension_location表相关操作的类和方法。
  2. 编写mapper类
  3. 编写reducer类
  4. 编写runner类
  5. 测试
下一篇
举报
领券