![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flink
dylan_白羊
10年+互联网工作经验,擅长:1.大数据领域,具有丰富的大数据架构经验,专长:Flink、Spark、Doris、Clickhouse、Kafka等;2.丰富的网络安全数据安全经验,擅长网络安全体系架构如主机安全、渗透测试、漏洞扫描、系统加固、逆向工程等技术,擅长安全网关、安全审计、入侵检测、态势感知、SOC、SIEM、SOAR、XDR、UEBA、数据资产扫描、敏感数据识别与分类分级、数据加密脱敏、数据库审计、数据防泄露、数据水印、数据库网关等技术。
展开
-
Flink 的复杂事件处理 CEP
一、什么是CEP?复杂事件处理(CEP)是一种基于流处理的技术,将系统数据看作不同类型的事件,通 过分析事件之间的关系,建立不同的事件关系序列库,并利用过滤、关联、聚合等技术,最 终由简单事件产生高级事件,并通过模式规则的方式对重要信息进行跟踪和分析,从实时数 据中发掘有价值的信息。复杂事件处理主要应用于防范网络欺诈、设备故障检测、风险规避 和智能营销等领域。Flink 基于 DataStrem API 提供了 FlinkCEP 组件栈,专门用于对复杂 事件的处理,帮助用户从流式数据中发掘有价值的信息。原创 2020-07-02 17:26:17 · 563 阅读 · 0 评论 -
Flink Table API开窗分组聚合
业务需求:每隔5秒钟,统计通话数量,假设数据延迟最大3秒。代码实现object TestWindowByTableAPI { // 每隔5秒钟,统计通话数量,假设数据延迟最大3秒,需要watermark def main(args: Array[String]): Unit = { val env = StreamExecutionEnvironment.getExecutionEnvironment // eventTime env.setStreamTimeChara原创 2020-07-01 17:07:50 · 1434 阅读 · 0 评论 -
Flink Table API运用与UDF实现
本文使用Table Api实现word count,自定义UDF实现单词切割。object TestUDFByWordCount { def main(args: Array[String]): Unit = { val env = StreamExecutionEnvironment.getExecutionEnvironment val settings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamin原创 2020-07-01 16:30:54 · 332 阅读 · 0 评论 -
Flink迟到数据处理
一、迟到的数据如何处理?Event Time语义下我们使用Watermark来判断数据是否迟到。一个迟到元素是指元素到达窗口算子时,该元素本该被分配到某个窗口,但由于延迟,窗口已经触发计算。目前Flink有三种处理迟到数据的方式:(1)直接将迟到数据丢弃:会造成数据丢失(2)将迟到数据发送到另一个流:输出到侧输出流,保证数据的完整性,可更新计算结果(3)重新执行一次计算,将迟到数据考虑进来,更新计算结果:数据准确率高,保证数据完整性二、业务实现:将迟到数据输出到侧输出流import org.ap原创 2020-06-29 22:23:56 · 2197 阅读 · 0 评论 -
实时日志数据写入Clickhouse
一、背景每天上百亿的日志数据实时查询是个挑战,在架构设计上采用了Kafka + Flink + Clickhouse+Redash,实现海量数据的实时分析。计算层,我们开发了基于Flink计算引擎的实时数据平台,简化开发流程,数据通过配置化实现动态Schema生成,底层数据解析统一,无需重复造轮子,整个数据链路,从数据的采集,转换,存储,可视化,无需写一行代码,配置化完成。本文主要介绍实时日志数据写入Clickhouse的实践。Flink Clickhouse Sink<dependency&g原创 2020-06-19 18:11:45 · 3848 阅读 · 18 评论 -
Flink WaterMark原理与实现
一、WaterMark作用在使用 EventTime 处理 Stream 数据的时候会遇到数据乱序的问题,流处理从 Event(事 件)产生,流经 Source,再到 Operator,这中间需要一定的时间。虽然大部分情况下,传输到 Operator 的数据都是按照事件产生的时间顺序来的,但是也不排除由于网络延迟等原因而导致乱序的产生,特别是使用 Kafka 的时候,多个分区之间的数据无法保证有序。因此, 在进行 Window 计算的时候,不能无限期地等下去,必须要有个机制来保证在特定的时间后, 必须触发原创 2020-06-18 18:40:57 · 563 阅读 · 0 评论 -
Flink 1.11 Table & SQL深度解读
1. kafka table DDL 动态table,后者定义覆盖前者, 一次创建多次使用2.clone table 完整继承、或者覆盖OPTION3.性能测试体验提升4.kafka table options 提升5.source & Sink重构(1)ChangeLog:kafka sink 支持update delete(2) NoMatchingFactory 异常修复(3)table schema 类型异常6.Hive 流批一体7.Hive Diale原创 2020-06-16 17:52:36 · 608 阅读 · 0 评论 -
Flink 窗口聚合函数之AggregatFunction实践
一、AggregatFunction概念Flink 的AggregateFunction是一个基于中间计算结果状态进行增量计算的函数,AggregateFunction接口相对ReduceFunction更加灵活,实现复杂度也相对较高,输入数据类型和输出数据类型可以不一致,通常和WindowFunction一起结合使用。二、案例实践:每隔3秒计算最近5秒内,每个基站的日志数量1.创建日志数据对象case class Log(sid:String,var callOut:String, var cal原创 2020-06-12 11:45:54 · 1111 阅读 · 0 评论