flink的CEP调研与使用
CEP定义
Flink的Complex Event Processing库
允许我们在事件流中检测事件的模式
CEP调研
Reference调研了网上所有讲解CEP的例子,只有4篇文章是有相对完整的代码的。
[4]中的代码已经得到验证,分为这么几个步骤:
先理一下flink cep的代码流程[4]
1.先定义Pattern
Pattern.begin[X]("start").where(...).next("middle").where(...)
2.通过CEP.pattern()方法将DataStream转化为PatternStream
val cepResult: PatternStream[Event] = CEP.pattern(inputDataStream, pattern)
3.将符合pattern的数据调用select方法对数据进行处理
cepResult.select(new PatternSelectFunction[X, String] {
override def select(pattern: util.Map[String, util.List[X]]): String = {
logic code
""
}
}
最終我完成了調研文獻中的[3][4][5],完整代碼鏈接是:
https://gitee.com/appleyuchi/Flink_Code/tree/master/flink_cep
Reference:
[1]Apache Flink CEP学习总结(评论区中说代码存在一些问题)
[2]Apache FlinkCEP实现超时状态监控(没有意义,超时的情况可以由waterMark进行sideOutput处理)
[3]Flink - CEP分析攻击行为(自己補充完整了)
[4]【Flink】flink cep对于复杂事件的处理(完成)
[5]Flink cep的初步使用(完成)
flink的CEP调研与使用相关推荐
- 网络安全公司奇安信集团是如何基于 Flink 构建 CEP 引擎实时检测网络攻击【未来不可忽视的网络安全】
摘要: 奇安信集团作为一家网络安全公司是如何基于 Flink 构建 CEP 引擎实时检测网络攻击?其中面临的挑战以及宝贵的实践经验有哪些?本文主要内容分为以下四个方面: 背景及现状 技术架构 产品及运 ...
- Flink 之CEP介绍及应用
1.什么是CEP? CEP即复杂事件处理(Complex Event Processing,CEP). Flink CEP是在 Flink 中实现的复杂事件处理(CEP)库. CEP 允许在无休止的事 ...
- Flink SQL篇,SQL实操、Flink Hive、CEP、CDC、GateWay
Flink源码篇,作业提交流程.作业调度流程.作业内部转换流程图 Flink核心篇,四大基石.容错机制.广播.反压.序列化.内存管理.资源管理 Flink基础篇,基本概念.设计理念.架构模型.编程模型 ...
- 从滴滴的Flink CEP引擎说起
从滴滴的Flink CEP引擎说起 本文转载自 https://www.cnblogs.com/cx2016/p/11647110.html. CEP业务场景 复杂事件处理(Complex Event ...
- flink CEP检测温度事件微型示例
flink CEP Apache Flink提供FlinkCEP库,该库提供用于执行复杂事件处理的API.该库由以下核心组件组成: 事件流 模式定义 模式检测 警报生成 FlinkCEP在Flink的 ...
- Flink CEP详解
1 概念 (1)定义 复合事件处理(Complex Event Processing,CEP)是一种基于动态环境中事件流的分析技术,事件在这里通常是有意义的状态变化,通过分析事件间的关系, ...
- Flink:从入门到放弃
文章目录 前言 一.Flink简介 1. Flink组件栈 2. Flink基石 3. Fink的应用场景 3.1 Event-driven Applications[事件驱动] 3.2 Data A ...
- 钱大妈基于 Flink 的实时风控实践
摘要:本文作者彭明德,介绍了钱大妈与阿里云 Flink 实时计算团队共建实时风控规则引擎,精确识别羊毛党以防营销预算流失.主要内容包括: 项目背景 业务架构 未规则模型 难点攻坚 回顾展望 点击进入 ...
- Flink知识点大全总结
全文总计6万字.110个知识点.160张原理.流程图.提纲如下: 01.Flink 基础篇 1.什么是Flink?描述一下 Flink是一个以 流 为核心的高可用.高性能的分布式计算引擎.具备 流批一 ...
最新文章
- Coinbase内部调查未发现比特币现金内幕交易证据
- GO语言变量和常量、语言控制语句流程
- ps怎么把一个颜色替换成另一个颜色_常用的60个PS技巧,助你成为PS大神!
- 解决DeferredResult 使用 @ResponseBody 注解返回中文乱码
- servlet容器_Servlet详解(一)之基本概念
- ipad分屏_iPad如何分屏及常见问题
- mysql 隐藏中间四位_MySQL知识体系——索引
- React - antd4 中在form中为Switch赋值无效
- H.264将普及 视频编码讲坛之H.264前世今生
- LeetCode 1041. 困于环中的机器人
- 发些c/c++/vc/驱动/网络安全的好书和资料
- 办公自动化-world转pdf-0223
- java 扇形_使用js画图之圆、弧、扇形
- 性能监控工具——Cacti安装文档
- 剑指offer(C++)-JZ35:复杂链表的复制(数据结构-链表)
- ggplot2都有哪些使用不多但是却异常强大的图层函数
- windows linux 双系统启动,windows linux 双系统默认启动windows 的几种方法
- input标签 设置纯数字输入
- 攻击JavaWeb应用————2、CS交互安全
- 【Flume】(四)IDEA编写自定义拦截器