全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
流计算

PV/UV统计

更新时间:2017-06-07 13:26:11

问题描述

当前公司正处于业务高速爆发期,CEO希望能够实时观察到当前公司的PV/UV情况。而当前使用的离线计算模型,仅能够每天拿到一份汇总PV/UV信息,CEO对于时延过大表示不满。

解决方案

由于涉及到广告点击日志产生源在ECS的Ngnix上,公司的数据开发人员使用Fluentd将上述日志数据采集进入DataHub,DataHub Topic定义如下:

字段名 类型 注释
uid String 用户ID
cookie String 用户Cookie
click_time String 访问时间,格式为yyyy-MM-dd HH:mm:ss
click_url String 访问URL

其中RDS表定义如下:

字段名 类型 注释
count_date varchar(16) 主键,点击日期,格式为yyyy-MM-dd
pv bigint 指定日期的PV
uv bigint 指定日期的UV

涉及到的PV/UV操作比较简单,仅需要以日期维度统计click_url的总个数即可:

  1. replace into result_rds
  2. select
  3. to_date(click_time) as count_date,
  4. count(1) as pv,
  5. count(distinct(cookie)) as uv
  6. from
  7. click_stream
  8. group by
  9. to_date(click_time);
本文导读目录