大数据Spark “蘑菇云”行动第65课: 页面跳转功能代码骨架分析与实战 放scala代码
2016-10-25 22:25
746 查看
大数据Spark “蘑菇云”行动第65课: 页面跳转功能代码骨架分析与实战
页面调转类似图计算
Spark GraphX中的二跳邻算法
用户在页面上产生的首次点击被称为“二跳”,二跳的次数即为“二跳量”。二跳量与浏览量的比值称为页面的二跳率
PageJumpOnce.scala
package com.dt.spak.SparkApps.pageLinks
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object PageJumpOnce {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setAppName("PageJumpOnce")
.setMaster("spark://192.168.189.1:7077").setJars(List(
// .setMaster("local[5]").setJars(List(
"/usr/local/spark-1.6.1-bin-hadoop2.6/lib/mysql-connector-java-5.1.13-bin.jar",
"/usr/local/IMF_testdata/PageJumpOnce.jar"))
val sc = new SparkContext(sparkConf)
val data = PageUtils.getData(sc)
val resolvedTask = PageUtils.parseArgsFromUser(args)
val aggregated = PageUtils.aggerateOnSession(data, resolvedTask)
val pageSplited = PageUtils.aggeratePageSplit(aggregated)
PageUtils.getResult(pageSplited, resolvedTask).foreachPartition { partition =>
{
}
}
}
}
PageUtils.scala
package com.dt.spak.SparkApps.pageLinks
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
object PageUtils {
def getData(sc: SparkContext): RDD[String] = {
generateData(sc)
}
def generateData(sc: SparkContext): RDD[String] = {
/**
* 数据可以来自于流处理系统,也可以来自批处理系统
*
*/
// MapPartitionsRDD[(String,String)] //要是同一个包 org.apache.spark.rdd
sc.parallelize("I into Spark so much".split(" "))
}
def parseArgsFromUser(args: Array[String]): Long = {
0L
}
def aggerateOnSession(rdd: RDD[String], taskType: Long): RDD[String] = {
rdd
}
def aggeratePageSplit(rdd: RDD[String]): RDD[String] = {
rdd
}
def getResult(rdd: RDD[String], taskType: Long): RDD[String] = {
rdd
}
}
页面调转类似图计算
Spark GraphX中的二跳邻算法
用户在页面上产生的首次点击被称为“二跳”,二跳的次数即为“二跳量”。二跳量与浏览量的比值称为页面的二跳率
PageJumpOnce.scala
package com.dt.spak.SparkApps.pageLinks
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object PageJumpOnce {
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf().setAppName("PageJumpOnce")
.setMaster("spark://192.168.189.1:7077").setJars(List(
// .setMaster("local[5]").setJars(List(
"/usr/local/spark-1.6.1-bin-hadoop2.6/lib/mysql-connector-java-5.1.13-bin.jar",
"/usr/local/IMF_testdata/PageJumpOnce.jar"))
val sc = new SparkContext(sparkConf)
val data = PageUtils.getData(sc)
val resolvedTask = PageUtils.parseArgsFromUser(args)
val aggregated = PageUtils.aggerateOnSession(data, resolvedTask)
val pageSplited = PageUtils.aggeratePageSplit(aggregated)
PageUtils.getResult(pageSplited, resolvedTask).foreachPartition { partition =>
{
}
}
}
}
PageUtils.scala
package com.dt.spak.SparkApps.pageLinks
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
object PageUtils {
def getData(sc: SparkContext): RDD[String] = {
generateData(sc)
}
def generateData(sc: SparkContext): RDD[String] = {
/**
* 数据可以来自于流处理系统,也可以来自批处理系统
*
*/
// MapPartitionsRDD[(String,String)] //要是同一个包 org.apache.spark.rdd
sc.parallelize("I into Spark so much".split(" "))
}
def parseArgsFromUser(args: Array[String]): Long = {
0L
}
def aggerateOnSession(rdd: RDD[String], taskType: Long): RDD[String] = {
rdd
}
def aggeratePageSplit(rdd: RDD[String]): RDD[String] = {
rdd
}
def getResult(rdd: RDD[String], taskType: Long): RDD[String] = {
rdd
}
}
相关文章推荐
- 大数据Spark “蘑菇云”行动第64课: 页面跳转功能分析与架构 A、B、C页面之间跳转率的计算方法
- 大数据Spark“蘑菇云”行动-第11课:Scala面向接口彻底实战和Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传18课:Scala偏函数、异常、Lazy值编码实战及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动第80课:Spark GraphX 综合案例分析与实战
- 大数据Spark “蘑菇云”行动前传第22课:Scala集合和高级函数操作实战及Spark源码鉴赏.
- 大数据Spark “蘑菇云”行动第79课:Spark GraphX 代码实战及源码剖析
- 大数据Spark “蘑菇云”行动第86课:Hive分区表剖析与代码实战
- 大数据Spark“蘑菇云”行动-第14课Scala集合上的函数式编程实战及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第3课:在IDE下开发第一个Scala程序透彻解析及Scala控制结构详解实战
- 大数据Spark “蘑菇云”行动前传第2课:Scala零基础实战入门的第一堂课及如何成为Scala高手
- 大数据Spark“蘑菇云”行动第55课:在线广告点击流处理代码的分析和实现
- 大数据Spark “蘑菇云”行动前传第7课:零基础实战Scala面向对象编程及Spark源码解析
- 大数据Spark “蘑菇云”行动前传第16课:Scala implicits编程彻底实战及Spark源码鉴赏
- 大数据Spark “蘑菇云”行动前传第4课:零基础彻底实战Scala控制结构及Spark源码解析
- 大数据Spark“蘑菇云”行动第53课: Spark大型项目广告点击项目技术骨架实现之Spark+Kafka+Flume实战 项目!!!大项目!!!超大型大数据项目!!!
- 大数据Spark “蘑菇云”行动第71课: 基于Spark 2.0.1项目开发分析与实战
- 大数据Spark “蘑菇云”行动前传第10课:Scala继承彻底实战和Spark源码鉴赏.
- 大数据Spark“蘑菇云”行动-第10课:Scala继承彻底实战和Spark源码鉴赏
- 大数据Spark “蘑菇云”行动补充内容第70课: Spark SQL代码实战和性能调优 4个spark sql调优技巧有用!!!!
- 大数据Spark “蘑菇云”行动前传第20课:Scala提取器、注解深度实战详解及Spark源码鉴赏大数据Spark “蘑菇云”行动前传第20课:Scala提取器、注解深度实战详解及Spark源码鉴