063 日志分析(pv  uv  登录人数  游客人数  平均访问时间  二跳率  独立IP)

1.需求分析

  分析指标

    pv  uv  登录人数  游客人数  平均访问时间  二跳率  独立IP

2.使用的日志(一号店),会话信息

  

3.创建数据库

  

4.创建源表,存储源数据

  

5.创建我们需要的use表

  

6.创建两张临时表

  一张临时表可以根据sessionId得到的字段。

  第二张临时表是原表的过滤。

  思路:当第一张表的min_trackTime与第二张表的trackTime进行join,则这个时候的trackU,url,referer都是最小时间对应的值。

  

 7.join出想要的结果

  

8.完成需求

  

9.结果(使用beeline客户端显示)

  

10.疑问:

  visit_user的求解。

  count(distinct case when user_id is null then guid else null end) visit_user

  上面的使用方式是有问题的,没有登录的时候,user_id不是空,是别的值,所以都统计了,就造成了与UV相同。

  具体是啥?是空白符,但是要怎么做呢?

  可以统计长度。

  count(distinct case when length(user_id)!=0 then guid else null end) login_user;

   count(distinct case when length(user_id)=0 then guid else null end) visit_user;

原文地址:https://www.cnblogs.com/juncaoit/p/6079233.html