数据预处理-链路统计-serverCoverCount计算|学习笔记

简介: 快速学习数据预处理-链路统计-serverCoverCount计算

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建):数据预处理-链路统计-serverCoverCount计算】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/670/detail/11632


数据预处理-链路统计-serverCoverCount计算

 

内容介绍:

一、原始数据

二、数据实现

 

一、原始数据

实例将要打入 kafka 的数据

local message = time_ local.."#CS#".. request . .”#CS#".. request_ method . . " #CS# '

content type.."#CS#"..request_ body"#CS#". . http_ referer 。. ' #CS#". . remote_ addr'#CS#"

http- user agent . ."#CS#".. time_ iso8601 . ."#CS#". . server addr .."#CS#".. http- cookie. . "#CS#". activeUserNumber

image.png


二、数据实现

//消费数据

kafkavalue.foreachRDD(rdd=>{

//链路统计功能

Linkcount.linkcount()

由于 LinkCount 是红色,

需要进行创建:

Project->src->main->scala->dataprocess->businessprocess->new->Scala Class

Name:LinkCount  Kind:Object

需要进行引入,引入在这个方法里面没有,所以需要创建一下,这个方法里面要做链路统计功能需要有数据,数据就是 rdd,把 rdd 传进去,让 idea 主动创建Linkcount.

根据前面的流程需求,需要统计的是服务器的名称,服务器的名称直接截过来就可以,需要统计当前活跃连接数,服务器的 IP 以及它的数值,所以一个是当前活跃连接数,还有就是服务器IP出现的次数,即服务器的 count

先把服务器的IP拿出来,再把衣拿出来,然后 reducebykey,再加入 redis 的时候,加入时间段

具体流程:

//实现链路统计功能

object LinkCount {

//链路统计代码

def linkCount(rdd: RDD[String]): Unit = {

//每个服务器本批次数据访问了多少次

//1.遍历 rdd 获取到每条数据

val serverCount=rdd . map( message=>{

注意:

此处用 map 还是 foreach 取决于要不要返回结果map需要返回结果,foreach 是直接去操作,不需要返回结果

//2.抽取出服务器的 IP

var ip=""

if (message.split( regex= "#CS#", limit= -1).1ength>9){

ip=message.split( regex= "#CS#", limit= -1)(9)

在原始数据中,服务器ip(server_addr)是第十个,当前活跃连接数(activeUserNumber) 是第十二个,第十个数据角标9,第十个数据角标是11。

//3.将ip 和1返回

(ip,1)

}).reduceByKey(_ .+_ )

//4.reducebykey 计算出ip 和总数

//5.当前活跃连接数的计算

/6.将it算出来的两个结果写 Aredis 

相关文章
|
6月前
|
SQL 存储 消息中间件
Trino权威指南
Trino(原Presto SQL)是一款开源分布式SQL查询引擎,专为大数据联邦查询设计。它支持秒级查询PB级数据,可无缝对接Hive、MySQL、Kafka等20+异构数据源。其核心特性包括高速查询、弹性扩展和低成本使用,适合交互式分析与BI场景。Trino采用无共享架构,通过列式内存格式和动态代码生成优化性能,并提供丰富的连接器实现计算存储分离,最大化下推优化以提升效率。
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
84648 1
|
AI芯片
AIGC视频生成/编辑技术调研报告
随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起了学术界和产业界的高度关注。该分享主要介绍视频生成/编辑的研究现状,包括不同技术路线的优劣势,以及该领域当下面临的核心问题与挑战。
1980 3
AIGC视频生成/编辑技术调研报告
|
11月前
|
人工智能
Scaling Laws终结,量化无用,AI大佬都在审视这篇论文
《Scaling Laws for Precision》论文提出“精度感知”的扩展理论,将精度纳入模型发展的核心考量,弥补了传统AI模型发展理论忽视精度的不足。研究发现低精度训练会降低模型的有效参数计数,影响性能,并预测了低精度训练和后训练量化带来的损失。作者通过大量实验验证了理论的可靠性和有效性,为计算资源有限情况下如何平衡模型规模和精度提供了新思路。然而,该研究也引发了关于精度与性能权衡复杂性的争议。
278 27
|
安全 Java 网络安全
内网和外网的区别及应用
内网和外网的区别及应用
|
边缘计算 人工智能 5G
5G 组网模式:NSA 与 SA 的比较与应用
5G 组网模式:NSA 与 SA 的比较与应用
5859 1
|
网络协议 Shell 网络安全
开发工具使用之 github 私人仓库Clone 失败的问题
这篇文章介绍了解决GitHub上私人仓库克隆失败的问题,通过检查本地SSH key的存在与否、生成新的SSH key、添加SSH key到GitHub以及使用SSH方式克隆私有仓库的步骤来解决这个问题。
开发工具使用之 github 私人仓库Clone 失败的问题
|
XML Java API
Apache POI详解及Word文档读取示例
apache poi资料详解,包括内部jar包依赖关系,及与使用文档的对应关系
3341 0
|
数据采集 人工智能 缓存
GitHub图片加载不出来解决方案(超详细图文教程)
GitHub图片加载不出来解决方案(超详细图文教程)
4175 0
|
设计模式 Java API
【Spring】(三)Spring框架代理模式
【Spring】(三)Spring框架代理模式
355 0
【Spring】(三)Spring框架代理模式