网络知识 娱乐 Flink 实践教程:进阶6-CEP 复杂事件处理

Flink 实践教程:进阶6-CEP 复杂事件处理

流计算 Oceanus 简介

流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。

Flink CEP[1] 是在 Flink 上层实现的复杂事件处理库。本文将为您详细介绍如何使用 Flink CEP 实现对复杂事件的处理。 示例程序使用 DataStream API 读取 Kafka 中股票的数据,找到股价的低点,完成了复杂事件的处理,最后将结果输出到 Kafka 的另一个 Topic 中去。

股票价格走势图
运行结果

总结

  1. 使用 DataStream 中的 CEP 时,必须实现 POJO 类的 equals()hashCode()方法。 因为 Flink CEP 会根据 POJO 类的 equals()hashCode()方法进行对象的比较和匹配事件。
  2. 使用 Table SQL 中的 CEP,请参考 模式检测[6]。
  3. 打包时无需打包 flink 核心依赖,流计算 Oceanus 平台已提供。

阅读参考

[1] Flink CEP(复杂事件处理): https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/libs/cep/

[2] Oceanus 控制台:https://console.cloud.tencent.com/oceanus/overview

[3] 创建独享集群:https://cloud.tencent.com/document/product/849/48298

[4] CKafka 控制台:https://console.cloud.tencent.com/ckafka/index?rid=1

[5] CKafka 收发消息:https://cloud.tencent.com/document/product/597/54834

[6] 模式检测:https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/dev/table/sql/queries/match_recognize/