使用sparksql开发pv,uv,二跳率
来源:互联网 发布:经济型酒店数据分析 编辑:程序博客网 时间:2024/04/20 02:59
uv:user views,count(distinct guid)
pv:page views,count(url)
二跳率:count(distinct case when pv>=2 then sessionid else null end) / count(distinct sessionid)
import org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSessionimport org.apache.spark.storage.StorageLevel/** * Created by zengxiaosen on 16/9/20. */object visit { def main(args: Array[String]): Unit = { val sparkconf = new SparkConf().setAppName("visitCount").setMaster("local") val ss = SparkSession.builder().config(sparkconf).getOrCreate() val sc = ss.sparkContext import ss.implicits._ val fileRDD = sc.textFile("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/2015082818") .filter(line => line.length>0) .map{ line => val arr = line.split("\t") val date = arr(17).substring(0, 10) val guid = arr(5) val sessionid = arr(10) val url = arr(1) (date,guid,sessionid,url) //通过url过滤 }.filter(i => i._4.length>0).toDF("date","guid","sessionid","url") .persist(StorageLevel.DISK_ONLY) fileRDD.createOrReplaceTempView("log") /* guid是独立访客id,大于sessionid */ val sql = s""" |select date,count(distinct guid) uv,sum(pv) pv, |count(case when pv>=2 then sessionid else null end) second_num, |count(sessionid) visits from |(select date, sessionid, max(guid) guid, count(url) pv from log |group by date,sessionid) a |group by date """.stripMargin val sql01 = s""" |select date,count(distinct guid) uv, count(url) pv from log |group by date """.stripMargin val result = ss.sql(sql).cache() result.show() result.printSchema() sc.stop() ss.stop() }}
0 0
- 使用sparksql开发pv,uv,二跳率
- 使用Spark计算PV、UV
- 使用Spark计算PV、UV
- 使用二维数组统计UV,PV
- PV UV PR
- PV/UV/IP
- PV,UV以及IP
- PV ,UV, IP, PR
- 什么是PV、UV、PR
- pv、uv、PR
- PV、UV、点击量
- 统计UV和PV
- 何为PV,UV。
- hadoop 计算 pv uv
- pv,uv,ip
- 什么是PV和UV?
- site:pv uv ip
- python统计pv、uv
- jQuery - css() 方法
- hadoop——简介与安装
- cocos2dx 3.x 主循环每一帧做的事情
- 6410设计
- NHibernate之配置文件属性说明
- 使用sparksql开发pv,uv,二跳率
- 切图分辨率
- javascript去掉数组中的重复项
- 使用js实现图片裁剪
- 【bzoj1189】[HNOI2007]紧急疏散evacuate
- android 中线程的启动与休眠
- [jQuery]$.ajax()方法详解及实例
- iOS开发 适配iOS10
- Java实现从一个数字中删除给定个数的数得到一个最大整数