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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习数据预处理-链路统计-activeUserCount 计算

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

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


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

 

内容介绍:

一、链路统计功能的目标

二、思路与关键代码

三、当前活跃连接的计算

 

一、链路统计功能的目标

目标:

企业需要实时了解每个链路的运行情况、数据采集量、活跃链接数等信息。

需在数据在采集时实时展现相关的信息在前台界面管理界面

 

二、思路与关键代码

1、统计每个批次每台服务器访问的总量

获取到一条数据,使用”#CS#"对数据进行切割,

获取切分后的第十个数据(角标是9), 将第十个数据和1,进行输出

调用 reducebykey (下划线+下划线)求去除这个批次每台服务器的放总量

2、统计每个批次每台服务器当前活跃链接数的量

获取到一条数据,使用”#CS#”对数据进行切割,

获取切分后的第十二个数据(角标是11)和第十个数据(角标是9).

将第十个数据和第十二个数据,进行输出

调用 reducebykey ((k,v)=>v) 求去每个服务器多个数据中的最后个数据

3.将两批数据写入 redis

在两个数据不为空的前体现,将两个数据转换成两个小的 map

封装最终要写入 redis 的数据(将两个小的 MAP 封装成-个大的 MAP)

在配置文件中读取出数据 key 的前缀,+时间戳(redis 中对数据的 key)

在配置文件中读取出数据的有效存储时间

将数据写入 redis

 

三、当前活跃连接的计算

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

//1获取到条数据, 使用“#CS#” 对数据进行切割

Val activeUserCount=rdd. map(message=>{

var ip =

var activeUserCount=""

//切分数据

if (message.split( regex = "#CS#") . length>11){

//2获取切分后的第十二 个数据(角标是11)和第十个数据(角标是9)

//截取当前活跃连接数

activeUserCount-message .split( regex = "#CS#")(11)

//截取 IP

ip=message. split( regex= "#CS#")(9)

//3将第十个数据和第十二个数据,进行输出

(ip,activeuserCount)

}).reduceByKey(k,V)=>v)//输出最后一个数据

计算完 activeUserNumber和server_ip n ,

下一步就是写入 redis。服务器的IP与访问的次数有了,只要有了时间戳就可以写入 redis。

相关文章
|
3月前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
3月前
|
人工智能 算法 开发者
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
337 10
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
|
3月前
|
人工智能 API 语音技术
免费版的配音软件,支持童声男声女声不同声音选项,语音转文字软件推荐支持多种声音
免费版的配音软件,支持童声男声女声不同声音选项,语音转文字软件推荐支持多种声音
835 2
|
2月前
|
JavaScript Java 关系型数据库
2025版基于springboot的企业办公用品采购管理系统
本系统旨在优化企业办公用品采购流程,通过自动化、标准化管理,提升采购效率,降低运营成本。结合Spring Boot、Vue、Java与MySQL技术,实现需求申请、审批、采购、入库全流程数字化,助力企业实现高效、智能的采购管理,增强市场竞争力。
|
8月前
|
应用服务中间件 nginx
Nginx进程配置指令详解
Nginx进程配置指令主要包括:`worker_processes`设置工作进程数;`worker_cpu_affinity`绑定CPU核心;`worker_rlimit_nofile`设置最大文件描述符数量;`worker_priority`设置进程优先级;`worker_connections`设置最大连接数;`daemon`控制守护进程模式;`master_process`启用主进程模式;`pid`设置PID文件路径;`user`指定用户和组;`error_log`配置错误日志。这些指令在`nginx.conf`中配置,用于优化和控制Nginx的运行行为。
394 10
|
内存技术
STM32内存管理
* 根据需要分配內存和回收内存 通常在一块较大且连续的内存空间上进行分配和回收 * 动态内存管理解决的问题 内存资源稀缺,通过内存复用增加任务的并发性 * 动态内存管理的本质 时间换空间,通过动态分配和回收“扩大”物理内存
385 0
STM32内存管理
|
Oracle Java 关系型数据库
jdk下载安装教程
本文介绍如何下载安装jdk,希望对大家有所帮助。
1363 0
jdk下载安装教程
|
Java Maven 数据安全/隐私保护
pom配置之:<distributionManagement>snapshot快照库和release发布库
pom配置之:<distributionManagement>snapshot快照库和release发布库
1000 0
pom配置之:<distributionManagement>snapshot快照库和release发布库
|
弹性计算 Ubuntu Shell
|
Dart Java Shell
Markdown实用小技巧: 个个用着都很爽
Markdown实用小技巧: 个个用着都很爽
19437 0
Markdown实用小技巧: 个个用着都很爽