基于Flink实现维基百科日志的实时监控

CrewAI多智能体系统实战:从角色设计到生产部署 多智能体系统(MAS)是将大语言模型(LLM)转化为可靠任务执行体的关键范式,其核心在于通过角色化、流程化与工具链封装,实现责任原子化与状态可控。区别于单点LLM的‘语言生成’能力,Agent强调感知-规划-执行-验证闭环,而CrewAI作为轻量级可审计框架,提供Role/Goal/Backstory黄金三角、Task原子化契约及Crew分布式状态机等工程化支撑。它不提升模型智商,却显著增强系统鲁棒性、可观测性与合规性,广泛应用于金融风控、政务问答、电商分析等需跨系统协作、权限隔离与结果可追溯的生产场景。 阅读详情

一、pom.xml增加依赖

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <flink.version>1.8.0</flink.version>
   <java.version>1.8</java.version>
   <scala.binary.version>2.11</scala.binary.version>
   <maven.compiler.source>${java.version}</maven.compiler.source>
   <maven.compiler.target>${java.version}</maven.compiler.target>
</properties>

<dependencies>
   <!-- Apache Flink dependencies -->
   <!-- These dependencies are provided, because they should not be packaged into the JAR file. -->
   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-java</artifactId>
      <version>${flink.version}</version>
      <scope>provided</scope>
   </dependency>
   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
      <version>${flink.version}</version>
      <scope>provided</scope>
   </dependency>

   <!-- Add connector dependencies here. They must be in the default scope (compile). -->

   <!-- Example:

   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-connector-kafka-0.10_${scala.binary.version}</artifactId>
      <version>${flink.version}</version>
   </dependency>
   -->

   <!-- Add logging framework, to produce console output when running in the IDE. -->
   <!-- These dependencies are excluded from the application JAR by default. -->
   <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.7</version>
      <scope>runtime</scope>
   </dependency>
   <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
      <scope>runtime</scope>
   </dependency>

   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-connector-wikiedits_2.11</artifactId>
      <version>${flink.version}</version>
   </dependency>
   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-core</artifactId>
      <version>1.8.0</version>
   </dependency>
   <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-streaming-java_2.11</artifactId>
      <version>1.8.0</version>
   </dependency>

</dependencies>



<!-- Java Compiler -->
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.1</version>
   <configuration>
      <source>${java.version}</source>
      <target>${java.version}</target>
   </configuration>
</plugin>

 

二、编码

import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.KeyedStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.windowing.time.Time;
import org.apache.flink.streaming.connectors.wikiedits.WikipediaEditEvent;
import org.apache.flink.streaming.connectors.wikiedits.WikipediaEditsSource;

/**
 * 实时监控维基百科词条有哪些用户在修改,统计他们修改了多少字节数等等
 */
public class WikipediaAnalysis {

    public static void main(String[] args) throws Exception {

        // 创建一个streaming程序运行的上下文
        StreamExecutionEnvironment see = StreamExecutionEnvironment.getExecutionEnvironment();

        /*
        source部分--数据来源部分
        pom中引入flink-connector-wikiedits_2.11,已经封装好了WikipediaEditsSource,创建WikipediaEditsSource实例即可。
         */
        DataStream<WikipediaEditEvent> edits = see.addSource(new WikipediaEditsSource());

        /*
        edits这个输入要有个key,表示某一个时间段之内每一个用户
        所以这里要用keyBy,用一个Key选择器KeySelector返回每一条event(代表维基百科后台每一条修改的事件),从这个事件中把用户拿出来
        现在就得到了一个keyedEdits。
         */
        KeyedStream<WikipediaEditEvent, String> keyedEdits = edits
                .keyBy((KeySelector<WikipediaEditEvent, String>) event -> {
                    return event.getUser();
                });

        // 使用一个窗口,并使这个窗口是5s汇总一次。
        DataStream<Tuple2<String, Long>> result =  keyedEdits
                .timeWindow(Time.seconds(5)) // 指定窗口的宽度为5秒
                .fold(new Tuple2<>("", 0L), new FoldFunction<WikipediaEditEvent, Tuple2<String, Long>>() {
                    @Override
                    public Tuple2<String, Long> fold(Tuple2<String, Long> tuple2, WikipediaEditEvent o) throws Exception {
                        // WikipediaEditEvent窗口中每一条信息就是维基百科的编辑信息
                        tuple2.f0 = o.getUser();
                        Long byteDiff = Long.valueOf(o.getByteDiff());
                        tuple2.f1 += byteDiff;
                        return tuple2;
                    }
                });

        result.print();
        see.execute();
    }
}

 

KNN真的死了吗?从工程落地看算法的退场与升维 KNN(K-近邻算法)作为机器学习中最基础的实例学习方法,其核心原理是基于距离度量实现局部相似性决策。在高维灾难、实时推理瓶颈与内存约束加剧的现代系统中,传统暴力遍历式KNN确已难以满足低延迟、大规模、多模态等工程需求;但它的思想内核——‘邻居即证据、距离即关系’——正通过向量检索(如FAISS)、双塔推荐、kNN-LM等技术被深度继承与重构。它不再以原始形态主导线上服务,却在冷启动、嵌入式AI、医疗可解释诊断等强调白盒性、确定性与小样本鲁棒性的场景中不可替代。理解KNN的边界与演化,本质是理解算法工程化中 阅读详情

相关推荐

Flink项目实战篇 基于Flink的城市交通监控平台(下)

Flink项目实战篇 基于Flink的城市交通监控平台(上)Flink项目实战篇 基于Flink的城市交通监控平台(下)

moments的博客 3264

Flink学习笔记(三)——监控维基百科编辑流

本文参考官方文档,使用flink 提供的API,在flink集群上运行流式分析。 维基百科提供了一个IRC频道,对所有的wiki的编辑都会被记录下来。并计算每个用户在给定时间窗口内编辑的字节数。使用flink实现这个功能只需要几分钟,而且非常的简单,同时也为后面学习更复杂的程序打下基础。 已上传至github: https://github.com/KeoZmy/wiki-flink.git

qq_32971807的博客 3096

基于 Apache Flink 的实时监控告警系统

点击上方“zhisheng”,选择“设为星标”后台回复”666“获取公众号专属资料本文首发自本人的知识星球《Flink 精进学习》,文末点击阅读原文可以查看对应讲解的视频在如今微服务、云...

http://www.54tianzhisheng.cn/ 8032

基于Flink+Kafka实时告警

某项目使用告警系统的逻辑是将实时数据保存到本地数据库再使用定时任务做判断,然后产生告警数据。这种方式存在告警的延时实在是太高了。数据从产生到保存,从保存到判断都会存在时间差,按照保存数据定时5分钟一次,定时任务5分钟一次。最高会产生10分钟的误差,这种告警就没什么意义了。

huangpf_vcx 2410

2024年02月数据月报

2024年02月数据月报,为您准备了阿里、字节、百度等大厂90多篇实践案例

SmartSi 1889

电赛控制-----经验分享

1.赛前准备 先简单介绍一下电赛。电赛是两年一届,单数年是大电赛,全称是全国大学生电子设计大赛,之前由瑞萨电子赞助,所以之前也叫瑞萨杯,从19年开始赞助方变成了TI公司,偶数年是小电赛,全称是“TI杯”模电邀请赛,(这里不得不提TI公司的实力是愈来愈大了),一般来说小电赛的含金量会略低于大电赛,而且对与想拿国奖的同学来说还是要参加大电赛,因为小电赛一般每个学校会限制只有两个队伍进国赛,而大电赛是没有这个限制的,而且我们学校电赛保研的话,大电赛只要求国二,而小电赛只有国一才可以保,这样难度就增加了很多。..

qq_35656655的博客 1万+

八种Flink任务监控告警方式

Flink任务告警方式的选择,要从任务的使用情况和期盼来考量;简单的使用,且任务少,可以用监控目标数据库的数据写入情况、per-job和application运行任务探活、Sesion运行方式通过RestApi来告警;特定场景的业务可以靠监控存储中间偏移量来告警;通用大规模应用场景可以通过采集运行时日志、使用调度平台,使用调度平台、引入开源SDK方式、自定义SDK写入通用系统通用系统里方式选择。

weixin_42049123的博客 6839

GATK SNP过滤参数优化:从标准到个性化调整的实践指南

本文深入探讨了GATK SNP过滤参数的个性化调整策略,强调不应盲目套用官方标准参数。文章详细拆解了QD、FS、SOR等关键过滤参数的含义,并提供了通过数据分布分析、文献调研和迭代测试来确定适合自身数据(如动植物重测序)最佳阈值的实践方法,旨在帮助研究者在保留真实变异与剔除假阳性信号之间找到最优平衡。

weixin_29216049的博客 276

【FLink-17-Flink监控metric】

FLink-17-Flink监控metric

weixin_38136584的博客 1107

Moveit +Gazebo:搭建单臂机械臂仿真平台

Moveit +Gazebo:搭建单臂机械臂仿真平台

magic_invaid的博客 5292

切比雪夫插值

切比雪夫插值是一种基于切比雪夫节点的多项式插值方法,其优势是减少插值误差(特别是龙格现象:表现为高维插值时在边缘处插值误差骤增)。本文对其基本操作进行说明。

平和少年的博客 1647

Elastic:开发者上手指南

你们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍 2)Elasticsearch中的一些重要概念:cluster,n..........................................................

Elastic 中国社区官方博客 17万+

PaddleOCR 3.x 最新版使用教程(2025)——从安装到实战身份证识别,一步到位!

本文针对PaddleOCR 3.x大版本更新带来的参数变化和兼容性问题,提供从环境配置到实际应用的全流程解决方案。

qq_58607032的博客 9788

网页数据如何成为AI模型的‘感官’:合规、实时、高质量采集实践指南

网页数据是大型语言模型(LLM)获取真实世界知识的核心来源,其本质是动态、异构、带语义锚点的原始信息流。不同于静态数据集,网页数据具备天然时效性(如政策更新、舆情爆发)、内容多样性(HTML/JS渲染/富媒体混合)和真实性(URL路径、HTTP头、链接关系隐含可信度信号)。在AI训练与微调场景中,高质量网页数据直接决定模型对新兴概念、多义词、行业黑话的理解能力;在金融风控、电商定价、内容推荐等落地场景中,它支撑实时决策与细粒度语义建模。本文聚焦Web Data采集的技术内核——从Robots.txt合规解析

weixin_30251829的博客 428

【客户案例】母婴行业头部品牌是如何做私域的

各品牌争相跑马圈地,想方设法圈住流量,建立品牌资产;私域运营是一项“重人力”的工作,在传统的品牌运营过程中,私域操盘手经常会由于一对多导致无法兼顾,只能通过提高触达次数的方式加大漏斗,这样难以让每个社群都发挥出应有的价值,甚至还会导致一定程度的用户流失。除了宝妈身份外激发的用户认同感、亲密度外,KOC们作为产品的使用者,自由选择的推品和自由创作的推广文案都更具有真实性、代表性,能够极大程度激发群友们的信任感,从而愿意为产品买单,转化复购水到渠成。不同阶段的宝妈,母婴知识的储存量和经验是不同的,K品牌还会。.

圈量SCRM系统-企微营销工具-私域流量运营软件 948

使用epiDisplay包中的logistic

其中的logistic.display函数可以用于获取逻辑回归模型的汇总统计信息,包括自变量的优势比和置信区间,以及回归系数的Wald检验的p值。最后,我们使用print函数打印出汇总统计信息。使用epiDisplay包中的logistic.display函数获取逻辑回归模型的汇总统计信息(包括自变量的初始和调整后的优势比及置信区间,回归系数的Wald检验的p值)- R语言。通过使用logistic.display函数,我们可以方便地获取逻辑回归模型的重要统计信息,并对自变量的影响进行解释和推断。

CyberJolt的博客 608

基于Flink的实时告警实现(1):Flink简介与开发环境搭建

本专题将会从0到1实现告警处理流程,并会讲解实现过程中使用到的Flink中的技术。 1 Flink简介 Flink是一个流式的分布式处理引擎,可以同时处理有界流和无界流,并可以运行在常见的集群环境中。 Flink常用的应用场景有: (1) 事件驱动型应用 (2) 数据分析型应用 (3) 数据管道应用:将数据进行转换后再迁移到其他的存储系统 2 Flink的Local部署模式 Flink支持三种部署模式: Local:本地直接起一个taskmanager,通常用于本地调试 Standalone:物理机集.

追寻梦想的青春 1457

等保测评-瀚高数据库

一般适用于等保测评

m0_54146694的博客 1634

利用Flink(1.17)滚动窗口实时统计Apache Doris审计日志

统计每30S内各用户访问数仓的频次,同时过滤出慢查询,将慢查询单独输出,用于后期分析

weixin_43914798的博客 1398

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Flink综合案例实战

需求:公司开发⼀个监控告警平台(类似nginx访问⽇志) 每5秒统计过去1分钟可以统计各个接⼝的访问量

xqzllrt的博客 410

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Flink系列--Flink监控告警初探

Flink系列--Flink监控告警初探

似水_逆行的博客 1943

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

flink任务告警,flink on yarn任务告警

背景:针对实时流的flink on yarn任务,yarn正常running,但是flink任务一直在重启,无法在yarn层感知flink任务是否失败,本文通过prometheus+node_exporter+pushgateway+grafana,感知任务异常并发出告警。

jianm_liu的博客 1156

Flink整合kafka实现Flume监控指定文件改动

Flink整合kafka实现Flume监控指定文件改动

bababuzaijia的博客 1135

Flink实现实时数据处理

代码如下: 展示了一个使用 Apache Flink 进行实时数据处理的例子,该例子从 Kafka 消费数据,对博客文章的浏览量进行统计,并将结果写回到另一个 Kafka 主题。以下是对你提供的代码的一些解释和建议:初始化执行环境:配置 Kafka 连接器:定义 Source 和 Sink 表:SQL 查询:启动任务:

qq_41081716的博客 889

实战|基于Flink的用户行为日志分析系统

用户行为日志分析是实时数据处理很常见的一个应用场景,比如常见的PV、UV统计。本文将基于Flink从0到1构建一个用户行为日志分析系统,包括架构设计与代码实现。本文分享将完整呈现日志分析...

数据一哥,公众号:数据社 1万+

Flink CDC监控告警系统搭建:及时发现并解决问题的完整指南

Flink CDC作为实时数据同步的重要工具,在生产环境中需要完善的监控告警系统来确保数据管道的稳定运行。本文将为您详细介绍如何搭建Flink CDC的监控告警体系,帮助您及时发现并解决潜在问题。 ## 📊 为什么需要Flink CDC监控告警? 在实时数据处理场景中,Flink CDC承担着关键的数据同步任务。监控告警系统能够帮助您: - **实时掌握数据同步状态** - **快速发现异

gitblog_00316的博客 1157
上一篇: MySQL安装配置
下一篇: IDEA中配置GitHub并上传/下拉项目
LuckyJiang.2021
博客等级 码龄15年 217粉丝 199原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuckyJiang.2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值