Spark 分析网站排名热度

简介:

需求:

/ 解决是一个各个子模块内的热度排名--》 排名得用sortBy ---》 (可能就是简单的排序,或者是二次排序) ---》

// 前面有一个wordCount---》 算出次数出来  --》 考虑什么作为key


//算的一个网站下面,每个子模块下面的网页热度前2名 :

// 算的一个网站下面,每个子模块下面的网页热度前2名 --》 每个子模块下面的网页的次数的前2名


// 在实际开发中,真正代码时间可能只占20-30% ,其他时间都在理解需求,想思路

import java.net.URL
import org.apache.spark.{SparkConf, SparkContext}
object Data_anlysis {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("data-anysis").setMaster("local[2]")
    val sc = new SparkContext(conf)
    val linesRDD = sc.textFile("d://web_data.log")
    val rdd01 =linesRDD.map(line => {
      val lineSplited = line.split("\t")
      (lineSplited(1),1)
    })
    val rdd02 = rdd01.reduceByKey(_+_)
    val rdd03 = rdd02.map(tup => {
      val url = tup._1;
      val host = new URL(url).getHost
      (host,url,tup._2)
    })
    val rdd04 = rdd03.groupBy(_._1)
    val rdd05 = rdd04.mapValues(iter => {
      iter.toList.sortBy(_._3).reverse.take(2)
    })
    println(rdd05.collect().toBuffer)
    sc.stop()
  }
}

运行结果会把网站的日志数据按照某一模块的要求列出排名前2个结果展示出来。

本文转自  ChinaUnicom110  51CTO博客,原文链接:http://blog.51cto.com/xingyue2011/1950745

相关文章
|
9天前
|
机器学习/深度学习 分布式计算 算法
Spark快速大数据分析PDF下载读书分享推荐
《Spark快速大数据分析》适合初学者,聚焦Spark实用技巧,同时深入核心概念。作者团队来自Databricks,书中详述Spark 3.0新特性,结合机器学习展示大数据分析。Spark是大数据分析的首选工具,本书助你驾驭这一利器。[PDF下载链接][1]。 ![Spark Book Cover][2] [1]: https://zhangfeidezhu.com/?p=345 [2]: https://i-blog.csdnimg.cn/direct/6b851489ad1944548602766ea9d62136.png#pic_center
27 1
Spark快速大数据分析PDF下载读书分享推荐
|
2月前
|
移动开发 分布式计算 Spark
Spark的几种去重的原理分析
Spark的几种去重的原理分析
26 0
|
2月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
219 0
|
2月前
|
机器学习/深度学习 SQL 分布式计算
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
|
2月前
|
SQL 分布式计算 HIVE
Spark数据倾斜问题分析和解决
Spark数据倾斜问题分析和解决
59 0
|
9天前
|
弹性计算 分布式计算 Serverless
全托管一站式大规模数据处理和分析Serverless平台 | EMR Serverless Spark 评测
【7月更文挑战第6天】全托管一站式大规模数据处理和分析Serverless平台 | EMR Serverless Spark 评测
|
1月前
|
机器学习/深度学习 数据采集 分布式计算
基于spark的大数据分析预测地震受灾情况的系统设计
基于spark的大数据分析预测地震受灾情况的系统设计
|
2月前
|
SQL 分布式计算 关系型数据库
Spark 分析计算连续三周登录的用户数
本文介绍了如何使用窗口函数`range between`来查询`login_time`为2022-03-10的用户最近连续三周的登录数。首先在MySQL中创建`log_data`表并插入数据,接着定义需求为找出该日期前连续三周活跃的用户数。通过Spark SQL,分步骤实现:1)确定统计周期,2)筛选符合条件的数据,3)计算用户连续登录状态。在初始实现中出现错误,因未考虑日期在周中的位置,修正后正确计算出活跃用户数。
|
1月前
|
分布式计算 定位技术 Scala
使用spark基于出租车GPS数据实现车辆数量统计以及北京每个城区的车辆位置点数分析
使用spark基于出租车GPS数据实现车辆数量统计以及北京每个城区的车辆位置点数分析
|
2月前
|
分布式计算 Java 关系型数据库