Spark+Hbase 亿级流量分析实战( PV/UV )

本文介绍了如何使用Spark和Hbase进行亿级流量的PV(页面浏览量)和UV(独立访客数)统计。通过Driver程序入口,检查并获取ETL日志的进度,当满足计算条件时开始计算。在计算过程中,利用SparkSQL对Hbase数据进行处理,通过去重操作实现UV统计,并将结果更新到指标表。详细讲述了整个计算流程和关键代码实现。
摘要由CSDN通过智能技术生成

作为一个亿级的流量分析统计系统怎么能没有 PV / UV 这两经典的超级玛丽亚指标呢,话说五百年前它俩可是鼻祖,咳咳...,不好意思没忍住,回归正文,大猪在上一篇已经介绍了 小巧高性能ETL程序设计与实现 了,到现在,我们的数据已经落地到 Hbase 上了,而且日志的时间也已经写到 Mysql 了,万事都已经具备了,接下来我们就要撸指标了,先从两个经典的指标开始撸。

9028759-0ac7512294a4e8f6.png

我们先理一下整个程序的计算流程,请看大图:


9028759-82e79d50bf6892b1.png
  1. 开始计算是我们的 Driver 程序入口

  2. 开始计算之前检查监听 Redis 有没有收到程序退出通知,如果有程序结束,否则往下执行

  3. 首先去查询我们上篇文章的 ETL loghub 日志的进度的平均时间点

  4. Switch 处是判断 loghub 的时间距离我们上次计算的指标时间是否相差足够时间,一般定义为3分钟时间之后,因为 loghub 的时间会有少量的波动情况

  5. 不满足则睡眠 30秒,可以自己控制Sleep范围。

  6. 满足则计算 上次指标计算结束时间 ~ (loghub时间 - 3分钟日志波动)

  7. 计算完成更新指标结果并且更新指标计算时间,然后回到第 2 点。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值