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. 测试
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容