"user1 2018-10-30 16:14:14", "user1 2018-10-30 16:24:13", "user3 2018-10-30 16:13:14", "user1 2018-10-30 16:12:14", "user1 2018-10-30 16:14:14", "user2 2018-10-30 16:14:11", "user2 2018-10-30 16:14:44", "user4 2018-10-30 16:14:15", "user5 2018-10-30 16:14:64", "user2 2018-10-30 16:14:24"
如上数据:需求一个网站统计每天每个用户的点击次数
执行如下代码
val conf = new SparkConf().setAppName("distinct").setMaster("local") //创建conf配置对象 val sc = new SparkContext(conf) //生成sparkcontext对象 val arr = Array( "user1 2018-10-30 16:14:14", "user1 2018-10-30 16:24:13", "user3 2018-10-30 16:13:14", "user1 2018-10-30 16:12:14", "user1 2018-10-30 16:14:14", "user2 2018-10-30 16:14:11", "user2 2018-10-30 16:14:44", "user4 2018-10-30 16:14:15", "user5 2018-10-30 16:14:64", "user2 2018-10-30 16:14:24" ) // uv 统计 表示user view ,每天每个用户可能对网站点击多次 //此时,需要对用户进行去重,然后统计出每天有多少个用户访问量 //pv 是总的用户访问量 val logs = sc.parallelize(arr) val nums = logs.map(t=>{ val lines = t.split(" ") lines(0) }).distinct().count() //uv 去重之后就是uv,输出5 //}).count() //pv 不去重 就是pv 输出 10 println(nums)
总结:uv是pv去重之后的结果
转载自原文链接, 如需删除请联系管理员。
原文链接:项目中的UV跟PV到底是什么意思,转载请注明来源!