首页 > 其他分享 >sparkcore案例三:获取每一种状态码对应的访问量

sparkcore案例三:获取每一种状态码对应的访问量

时间:2022-08-27 11:35:08浏览次数:61  
标签:map String val RDD sparkcore 案例 访问量 sc line

  • 题目描述:
/**
 * 清洗完成的数据中包含一个用户的响应状态码,获取每一种状态码对应的访问量
 *   1、读取清洗完成的数据成为RDD[String]
 *   2、可以把上一步得到的RDD通过map算子转换成一个键值对类型的RDD,以状态码为key  以不同用户的访问日志为value的数据
 *   3、键值对类型的RDD通过countByKey行动算子计算每种状态码的访问量(不灵活)。也可以使用aggregateByKey或者combineByKey实现访问量的统计
 */
  • 代码:方法一:
object A3StatusCount {
  def main(args: Array[String]): Unit = {
    val sparkConf:SparkConf = new SparkConf().setAppName("demo02").setMaster("local[3]")
    val sc:SparkContext = new SparkContext(sparkConf)

    val value: RDD[String] = sc.textFile("hdfs://node1:9000/dc")
    val map = value.map((line: String) => {
      val str: String = line.split(" ")(8)
      (str, 1)
    })
    val count = map.reduceByKey(_ + _)
    count.foreach(println(_))

    sc.stop()
  }
}
  • 代码:方法二:
object A3StatusCount {
  def main(args: Array[String]): Unit = {
    val sparkConf:SparkConf = new SparkConf().setAppName("demo02").setMaster("local[3]")
    val sc:SparkContext = new SparkContext(sparkConf)

    val value: RDD[String] = sc.textFile("hdfs://node1:9000/dc")

    val map: RDD[(String, String)] = value.map((line: String) => {
      val strs = line.split(" ")
      (strs(8), line)
    })
    val agg = map.aggregateByKey(0L)(
      (a: Long, b: String) => {
        a + 1L
      },
      (a: Long, b: Long) => {
        a + b
      }
    )
    agg.foreach(println(_))

    sc.stop()
  }
}

标签:map,String,val,RDD,sparkcore,案例,访问量,sc,line
From: https://www.cnblogs.com/jsqup/p/16630182.html

相关文章

  • 记一次血淋淋的MySQL崩溃修复案例
    摘要:今天给大家带来一篇MySQL数据库崩溃的修复案例本文分享自华为云社区《记一次MySQL崩溃修复案例,再也不用删库跑路了》,作者:冰河。问题描述研究MySQL源代码,调试并压......
  • KingbaseES V8R3集群运维案例之---用户自定义表空间管理
    ​案例说明:KingbaseES数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外。本案例复现了,当用户自定义表空间存储路径配置到data下......
  • KingbaseES V8R6集群维护案例之---将securecmdd通讯改为ssh案例
    案例说明:在KingbaseESV8R6的后期版本中,为了解决有的主机之间不允许root用户ssh登录的问题,使用了securecmdd作为集群部署分发和通讯的服务,有生产环境通过漏洞扫描,在8890(se......
  • spark core案例二:清洗过滤
    题目描述/***用户的行为日志数据清洗过滤*网站的独立访客数:一个唯一的IP地址就是一个独立访客*1、将用户行为日志数据中的IP地址字段获取到返回一个只包......
  • 远程配置案例测试
    新建一个springcloud-config-eureka-7001模块,导入config依赖 bootstrap.yml和application.yml配置:  将eureka-7001yml配置拷贝一份config-eureka1spring:......
  • SparkCore系列(四)函数大全
    有了上面三篇的函数,平时开发应该问题不大了。这篇的主要目的是把所有的函数都过一遍,深入RDD的函数RDD函数大全数据准备        val sparkconf = new Spa......
  • 已整理-sshpass 脚本应用案例
     sshpass一个简单、轻量级命令行工具,提供非交互式密码验证原理:1、ssh直接使用TTY访问,以确保密码是用户键盘输入的。sshpass在专门的tty中运行ssh,以误导ssh相......
  • SQL Server 表增加字段案例语句
    IFNOTEXISTS(SELECT1FROMsys.sysobjects(NOLOCK)soINNERJOINsys.syscolumns(NOLOCK)scONso.id=sc.idWHEREso.name='EgSys_ActualFrei......
  • SQL Server 新建表案例语句
    GOIFNOTEXISTS(SELECT1FROMsys.objectsoWHEREo.name='EgSys_ActualFreightSurcharge'ANDo.type='u')BEGINCREATETABLE[......
  • SQL Server游标的使用案例
    SELECT*INTObackup_db.dbo.EgSys_ActualFreightDetail_202208251630FROMEgSys_ActualFreightDetail(NOLOCK);BEGINDECLARE@DetailIDINT;DECLARE@PackageFee......