JavaSpark | RDD实战:统计网站 pv 和 uv
文章目录
- 1.pv 和 uv
- 1.1 什么是 PV 值?
- 1.2 什么是 UV 值?
- 2. 代码实战
- JavaSpark | 算子
- JavaSpark | RDD实战:WordCount
- JavaSpark | RDD实战:统计网站 pv 和 uv
- JavaSpark | RDD实战:二次排序
- JavaSpark | RDD实战:分组top n
- JavaSpark | SparkSQL | 创建DataSet | UDF与UDAF | 开窗函数
1.pv 和 uv
PV
是网站分析的一个术语,用以衡量网站用户访问的网页的数量。对于广告主,PV
值可预期它可以带来多少广告收入。一般来说,PV
与来访者的数量成正比,但是 PV
并不直接决定页面的真实来访者数量,如同一个来访者通过不断的刷新页面,也可以制造出非常高的 PV
。
1.1 什么是 PV 值?
PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量。具体的说,PV 值就是所有访问者在 24 小时(0 点到 24 点)内看了某个网站多少个页面或某个网页多少次。PV 是指页面刷新的次数,每一次页面刷新,就算做一次 PV 流量。
度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个 PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为 1 个 PV。
1.2 什么是 UV 值?
UV(unique visitor)即独立访客数,指访问某个站点或点击某个网页的不同 IP 地址的人数。在同一天内,UV 只记录第一次进入网站的具有独立IP 的访问者,在同一天内再次访问该网站则不计数。UV 提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。
2. 代码实战
package com.shsxt.java_Test.core.demo;import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import scala.Tuple2;import java.util.Map;public class PVUV {public static void main(String[] args) {//1.构建SparkConext执行环境入口对象SparkConf conf = new SparkConf();conf.setAppName("PUUV").setMaster("local[*]");JavaSparkContext jsc = new JavaSparkContext(conf);//2.读取数据//146.1.30.98 河南 2017-10-10 1512012307078 5263761960810313758 www.jd.com RegistJavaRDD<String> lineRDD = jsc.textFile("data/pvuvdata");//3.统计每个页面 PVlineRDD.mapToPair(new PairFunction<String, String, Integer>() {@Overridepublic Tuple2<String, Integer> call(String s) throws Exception {String page = s.split("\t")[5];return new Tuple2<>(page,1);}}).reduceByKey(new Function2<Integer, Integer, Integer>() {@Overridepublic Integer call(Integer v1, Integer v2) throws Exception {return v1 + v2;}}).foreach(x->{System.out.println(x);});//4.统计每个页面与IP的UVJavaPairRDD<String, String> url_ip_RDD = lineRDD.mapToPair(new PairFunction<String, String, String>() {@Overridepublic Tuple2<String, String> call(String s) throws Exception {String[] words = s.split("\t");String url = words[5];String ip = words[0];return new Tuple2<>(url, ip);}});//去重,并针对url进行countMap<String, Long> map = url_ip_RDD.distinct().countByKey();//遍历结果for (Map.Entry<String,Long> entry:map.entrySet()) {System.out.println(entry.getKey());System.out.println(entry.getValue());}jsc.stop();}
}
(www.suning.com,18412)
(www.jd.com,18609)
(www.dangdang.com,18693)
(www.taobao.com,18736)
(www.gome.com.cn,18443)
(www.mi.com,18482)
(www.baidu.com,18557)www.suning.com
15607
www.jd.com
15612
www.baidu.com
15634
www.gome.com.cn
15550
www.dangdang.com
15679
www.taobao.com
15708
www.mi.com
15552
JavaSpark | RDD实战:统计网站 pv 和 uv相关推荐
- 用户行为分析大数据系统(实时统计每个分类被点击的次数,实时计算商品销售额,统计网站PV、UV )
Spark Streaming实战对论坛网站动态行为pv,uv,注册人数,跳出率的多维度分析_小强签名设计 的博客-CSDN博客_spark streaming uv 实时统计每天pv,uv的spar ...
- Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示
http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...
- 大数据离线分析系统:统计网站PV、UV
目录 一.业务需求 二.业务实现方案 1.技术栈 2.业务实现流程 3.离线分析系统架构图 三.技术实现 1.Hadoop CDH集群管理平台 2.Flume采集服务器日志数据到HDFS 3.Spar ...
- JavaSpark | RDD实战:WordCount
JavaSpark | 算子 JavaSpark | RDD实战:WordCount JavaSpark | RDD实战:统计网站 pv 和 uv JavaSpark | RDD实战:二次排序 Jav ...
- 网站pv和uv比例多少合适?
网站pv和uv比例多少合适?今天有一个人问我这个问题,SEO优化顶尖大师认为,UV越多越好,PV更多好.但是其实不同行业又是不能相比的,针对大部分的站点而言,PV是UV至少三倍以上就不错了.两倍则在大 ...
- 网站pv和uv比例多少合适
网站pv和uv比例多少合适?今天有一个人问我这个问题,SEO优化顶尖大师认为,UV越多越好,PV更多好.但是其实不同行业又是不能相比的,针对大部分的站点而言,PV是UV至少三倍以上就不错了.两倍则在大 ...
- java利用友盟 计算pv uv_通过nginx日志利用shell统计日pv和uv
通过nginx日志利用shell统计日pv和uv 网上记录nginx日志统计访问量的脚本的文档很多,但是看来看去实际都是一个东西,如下: 1.根据访问IP统计UV awk '{print $1}' ...
- 网站流量统计之PV和UV
转自:http://blog.csdn.net/webdesman/article/details/4062069 如果您是一个站长,或是一个SEO,您一定对于网站统计系统不会陌生,对于SEO新手来说 ...
- 网站PV、UV以及查看方法(转载)
一.名词解释 PV:PV 是Page Views的缩写,即页面浏览量,用户每一次对网站中的每个网页访问均被记录一次.注意,访客每刷新一次页面,pv就增加一次. UV:UV是Unique Visitor ...
最新文章
- JSP错误页面的处理和exception对象
- 人工智能,机器学习,深度学习入门好文,强烈推荐
- kettle同步数据中文乱码问题解决
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)...
- Android笔记 actionbar学习
- stauml工具怎么导入文件_小伙教大家怎么剪辑短视频,1小时就学会添加字幕,值得收藏哦...
- 离线下载Express 2015 for Windows 10
- segnet运行记录
- 微信小程序操作数据库
- Golang学习(十四)数组
- Java中IDEA报错 “cannot access xxx“的解决办法
- 飞机的各参数指标matlab,通达信飞机起飞及选股指标公式
- leetcode小坑 ‘int’ object has no attribute ‘val‘
- 【SAP Abap】记录一次增强开发之销售交货开票VF04增强
- 三网融合可借鉴欧盟视听新媒体内容规制
- WINCE系统防火墙设置
- 数据集(casia,msu,replay,oulu)的详细信息
- 总结自己的2020,展望2021
- 顶级管理思维-金字塔顶端的俯视
- 浙江义乌航空口岸进入全货机时代