项目中的UV跟PV到底是什么意思

"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到底是什么意思)