sparkRDD练习超级秘籍(二 )

1、什么是PV值

PV(page
view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量。具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某个网页多少次。PV是指页面刷新的次数,每一次页面刷新,就算做一次PV流量。

度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为1个PV。

2、什么是UV值

UV(unique
visitor)即独立访客数,指访问某个站点或点击某个网页的不同IP地址的人数。在同一天内,UV只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。UV提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。

//60.208.6.156 - - [18/Sep/2013:06:49:48 +0000] “GET /wp-content/uploads/2013/07/rcassandra.png HTTP/1.0” 200 185524 “http://cos.name/category/software/packages/” “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36”

需求如下
1、求pv:
2、求uv:
求数据来源最大的前5条
数据链接

package scala.day02
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
/**
 * Author:SZX
 * Date:2020/10/19 15:35
 * Version:1.0
 * Description: 
 */
object access {
  def main(args: Array[String]): Unit = {
    //1 初始化配置,建立连接
    val conf: SparkConf = new SparkConf().setAppName("wc").setMaster("local[*]")
    val sc = new SparkContext(conf)
    sc.setLogLevel("WARN")
    //2读取数据
    val file: RDD[String] = sc.textFile("E:\\test\\access.log")
    //3 切割数据
    val rdd: RDD[String] = file.map(_.split(" ")(0))
    //求pv:
    println(rdd.count())
    //  2、求uv:
    println(rdd.distinct().count())
    //  3、求数据来源最大的前5条
    val filterRDD: RDD[String] = file.filter(_.split(" ").length > 10).map(_.split(" ")(10)).filter(_.contains("http://"))
    val url: Array[(String, Int)] = filterRDD.map((_, 1)).reduceByKey(_ + _).sortBy(_._2, false).take(5)
    url.foreach(println)
  }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值