数据预处理-链路统计实现思路|学习笔记

简介: 快速学习数据预处理-链路统计实现思路

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

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


数据预处理-链路统计实现思路

 

内容介绍:

一、数据预处理流程

二、链路统计

 

一、数据预处理流程

将数据预处理分成前中后三个阶段,在数据预处理前我们需要将采集到的数据打入到 kafka 中进行读取数据,接下来要做的是数据的链路统计功能。

预处理中期要做的是数据清洗、数据脱敏、数据拆分、数据分类、数据解析、历史爬虫判断、数据结构化。

之后进入到数据预处理后期,把已经结构化的爬虫数据推送到kafka 里,再推送回去。

推送后再进行一个系统监控,监控的是从链路统计一直到数据推送的过程中预处理的指标和链路的数量等等。

image.png

 

二、链路统计

目标:

企业需要实时了解每个链路的运行情况、数据采集量、活跃链接数等信息。需在数据在采集时实时展现相关的信息在前台界面(管理界面)

1、需求

统计lua 链路数据

实际效果:

image.png

在数据管理模块中有一个数据采集,数据采集模块中部署服务器、当前活跃连接数、最近三天采集数据量,就是现在要实践的列入统计功能。

采集多少台服务器在响应,每台服务器此时此刻的当前活跃连接数以及最近三天的数据量。计算这些指标,即上图结果。

2、设计

(1)、部署服务器:

server_ip,可以从 kafka 的数据中获取

(2)、当前服务器的活跃连接数:

需要增加 lua 采集指标,对接到kafka 

image.png

首先写入原始数据按照该格式体现到kafka 里

image.png

然后目标效果是

image.png

要从原始数据生成目标结果,

从上到下的顺序:

先看第一个点,将服务器的ip导入,IP:server_addr,将ip结果直接截取出来放在服务器中

image.png

当前活跃用户连接数已经采集,就是

activeUserNumber=ngx.var.connections_active,之前没有这个数据,所以要在“实例将要打入kafka 的数据”里面追加前面的activeUserNumber=ngx.var.connections_active

这样原始数据就被替换成了这样。

——实例将要打入 kafka 的数据

local message = time-local ..#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

在此并不需要计算,采集出来的数就是最终结果。

①、被访问次数的算法:

先拿到 server_ip ,一条数据一个1,两条数据两个1......n条数据n个1。用前面用过的 reducebykey,把数据放在一起处理完就是server_ip n。

在数据当中加入一个时间戳,时间戳有后就可以让前端工程师进行计算。将算出结果写到 redis 里面,还有另外一个模块mysql,将redis 处理后的数据导入到 mysql。Redis 数据就会到当前活跃连接数里面,而 mysql 数据会进入到最近三天采集数据量和部署服务器中

在 streaming 程序中获取数据,数据采集到Redis中,写到数据库

(3)、最近三天采集数据量

昨天:每天的采集数据在 stream 中统计,存储到 Redis 中(过期时间24小时),web 端定时任务每天24点统计数据到数据库

前天:24点定时任务把昨天的数据更新到前天,重新计算昨天的数据

前三天:累加上面两个数据和当天Redis 中的数据

相关文章
|
Java C++ 网络架构
【Java】@ApiOperation vs @ApiResponse in Swagger
【Java】@ApiOperation vs @ApiResponse in Swagger
302 0
|
Kubernetes 大数据 工业大脑
入门必读!Apache Flink 零基础系列教程,30 天成长为 Flink 大神!
多位 Flink PMC 及核心贡献者出品,帮你建立系统框架体系,最详细的免费教程,Flink 入门必读经典!越早学习,越能抓住时代先机。
入门必读!Apache Flink 零基础系列教程,30 天成长为 Flink 大神!
|
数据采集 存储 自然语言处理
如何搭建企业级知识图谱系统
企业级知识图谱系统作为一种基于图谱技术的知识管理工具,能够帮助企业更好地整合、管理和利用知识资源,提高决策效率和准确性,为企业的发展提供有力支持。
|
5月前
|
缓存 小程序 视频直播
基于uni-app+vite5+vue3实战短视频+直播+聊天app应用
基于uniapp+vue3+vite5从0-1实战搭建仿抖音/微信直播带货商城。集短视频+聊天+直播功能于一体。实现全屏沉浸式切换短视频/直播,支持编译运行到h5+小程序端+app端。
400 4
|
人工智能 小程序
【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,无需后台支持,具有快速、体验好、易集成等特点。本文介绍如何利用插件判断人体与摄像头的远近,确保人体图像在帧内的比例适中,以优化识别效果。通过`whole`检测规则,分别实现人体过近和过远的判断,并给出相应示例代码。
|
Rust Ubuntu Linux
|
10月前
|
小程序 搜索推荐
2025同城线下陪玩APP开发/电竞游戏平台搭建游戏陪玩APP源码/语音APP开发
线下陪玩约玩APP旨在满足现代人的社交、兴趣分享、专业指导及休闲娱乐需求。用户可通过平台结识新朋友、找到志同道合的伙伴,并享受高质量的陪玩服务。平台提供用户注册登录、陪玩师筛选与预约、实时沟通等功能,支持个性化游戏体验和高效匹配。
590 0
2025同城线下陪玩APP开发/电竞游戏平台搭建游戏陪玩APP源码/语音APP开发
|
数据采集 人工智能 物联网
我们给大模型去掉了“AI味”-大模型微调全链路实战
本文档旨在概述使用ModelScope生态进行LLM训练的全链路最佳实践,涵盖数据下载、数据预处理、模型训练、模型评估完整流程。
|
JavaScript 安全 Java
后端开发的艺术:从基础到精通
在数字化时代,后端开发是构建现代应用程序的基石。本文将深入探讨后端开发的各个方面,包括其核心概念、关键技术、最佳实践以及面临的挑战。我们将通过具体案例分析,揭示如何设计高效、可扩展和安全的后端系统,从而为读者提供一条从初学者到专家的成长路径。
|
编解码 网络协议 开发工具
Android平台如何实现多路低延迟RTSP|RTMP播放?
本文档详细介绍了大牛直播SDK在Android平台上实现RTSP与RTMP流媒体播放及录像功能的技术细节。早在2015年,SDK的第一版就已经支持了多实例播放,并且通过简单的实例封装就能轻松实现。文档中提供了代码示例,展示了如何开启播放、停止播放以及开始和停止录像等功能。此外,SDK还提供了丰富的配置选项,例如设置录像目录、文件大小限制、转码选项等。总结部分列出了该SDK的关键特性,包括但不限于高稳定性和低延迟的播放能力、多实例支持、事件回调、硬解码支持、网络状态监控以及复杂的网络环境处理等。这些功能使得SDK能够应对各种应用场景,特别是在对延迟和稳定性有极高要求的情况下表现优异。
441 5