离线处理网站的PV,UV方案

流程:

  • 导入数据hdfs(flume-->hdfs)
  • 建立hive表
  • 把hdfs上的数据导入到hive表里面
  • 数据清洗-->(先有一个数据清洗表)
  • 数据分析,数据统计-->存放一张表里面
  • 把hive表的数据导出到,mysql中
  • 把mysql里面的㐇给查出来,展示到页面

何为PV?

PV(page view)访问量,即页面浏览量或点力量,衡量网站用户访问的网页数量;

在一定统计周期内用户没打开或刷新一个页面就记录一次,多次打开或刷新同一页面浏览量累计。

何为UV(Unique Visitor)?

UV(Unique Visitor)独立访客,统计1天内访问某站点的用户数(以cookie为依据);

访问网站的一台电脑客户端为一个访客。

可以理解为访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访的cookie实现的。

如果更换了ip后但不清除cookies,在访问相同的网站,还网站的统计中UV数是不变的。

如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1.00:00-24:00内相同的客户端多次访问只记为1个访客

何为IP?

IP(Internet protocol)独立ip数,是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。

同一ip不管访问了几个页面,独立IP数均为1;

不同的IP浏览页面,计数会加1.

IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)

内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次记录。

1.flume整合hdfs

将hadoop的core-site.xml,hdfs-site.xml复制到flume/conf

将hadoop的jar包拷贝到flume/lib

  • hadoop-common-*.jar
  • hadoop-auth-*.jar
  • commons-configuration-*.jar

2.配置flume的conf文件(flume-->hdfs)

这里是flume的官网提供的下沉到hdfs的采集方案:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink

3.测试

向flume的监听目录下添加文件,观察hdfs

4.启动hive 创建数据库,在数据里面新建表

5.向数据库里面导入数据

6.数据分析

7.数据清洗

8.统计PV,UV把结果再放到一张结果表里面

9.把hive里面的数据导入到数据库里面(sqoop)(把mysql的驱动添加到sqoop\lib下)(保证mysql可以远程访问)

在 mysql里面创建数据库,数据库里面创建一张表,这个表的字段以及数据类型与hive里面的意义对应

10.终于到我们的java部分了

  • controller
  • pojo
  • dao
  • service
  • mapper
  • jps/html

里面所有涉及的方面,全部可以在我的博客里面找到相关的实例代码,理论理解。

 

 

你可能感兴趣的:(新手必看,编程规则,kafka,Redis,java)