Flink
文章平均质量分 82
野狼e族
忙是一种好事
展开
-
Flink窗口原理详解
Flink原理:窗口原理详解1 定义 Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁,将无界数据划分成有界数据。我们通过定义一个窗口,收集一批数据,并对这个窗口内的数据进行聚合类的计算。2 窗口分类2.1 Time WindowFlink 中窗口机制和时间类型是完全解耦的,也就是说当需要改变时间类型时不需要更改窗口逻辑相关的代码原创 2022-05-15 09:31:55 · 1439 阅读 · 0 评论 -
Flink窗口无法触发问题排雷
Flink窗口无法触发排雷1.序篇-先说结论博主希望你在看完本文后一定要养成这个编程习惯:使用 DataStream API 实现 Flink 任务时,Watermark Assigner 能靠近 Source 节点就靠近 Source 节点,尽量前置。要想问为啥,接着往下看!!!我从以下几个章节说明上述的问题以及为什么这样建议,希望能抛砖引玉,带给大家一些启发。⭐ 踩坑场景篇-这个坑是啥样的⭐ 问题排查篇-坑的排查过程⭐ 问题原理解析篇-导致问题的机制是什么⭐ 避坑篇-如何避免这种问题⭐原创 2022-02-18 14:34:49 · 4534 阅读 · 2 评论 -
Flink zookeeper HA 实现分析
Flink zookeeper HA 实现分析Zookeeper HA相关配置## 使用zk做HAhigh-availability: zookeeper## zk地址high-availability.zookeeper.quorum: node1:2181,node2:2181,node3:2181## flink在zk下的工作路径high-availability.zookeeper.path.root: /flink## 任务所在的HA路径high-availability.原创 2022-02-09 22:25:48 · 570 阅读 · 0 评论 -
Flink去重方案
MapState去重SQL去重HyperLogLog去重bitmap精确去重原创 2022-02-07 11:32:51 · 6089 阅读 · 0 评论 -
Flink与外部存储交互优化方案
在Flink流式程序设计中,经常需要与外部系统进行交互,很多时候外部系统的性能会成为任务整体吞吐的瓶颈,通常的解决方案会通过提高任务并发度增加对外部系统并发访问,如此会带来Flink额外的资源管理负载以及整体cpu利用率不高的问题。对于Flink与外部存储交互的场景,可以通过Flink 异步IO和单并发度多线程的机制提高任务吞吐能力,而不需要提高任务并发度从而提升整体资源利用率。一 Flink异步IO 对于Flink程序,通常的交互实现为同步请求,即发送一个请求,直到收到响应,继续处理,很多情况下原创 2022-02-06 22:01:22 · 1256 阅读 · 2 评论 -
flink双流JOIN原理
JOIN简介谈flink双流JOIN之前,我们先谈一下大家最熟悉的mysql表join,我们知道表join有如下几种,具体区别就不在介绍了。那么流的join和表的join有什么区别呢?本文我们介绍一下。CROSS JOIN - 交叉连接,计算笛卡儿积;INNER JOIN - 内连接,返回满足条件的记录;OUTER JOINLEFT - 返回左表所有行,右表不存在补NULL;RIGHT - 返回右表所有行,左边不存在补NULL;FULL -返回左表和右表的并集,不存在一边补...原创 2022-02-02 22:05:34 · 1011 阅读 · 2 评论 -
Flink Sql Gateway源码分析
Flink Sql Gateway是Flink集群的“任务网关”,支持以rest api的形式提交查询、插入、删除等任务。官网推荐与Flink jdbc driver搭配使用,不过jdbc driver限制了很多功能,如果自己开发数据平台,最好还是直接使用sql gateway。想要透彻的使用sql gateway,需要了解一下问题:1 如何处理并发请求?多个提交怎么处理?2 如何维护多个sql之间的关联性?3 sql字符串如何提交到集群形成代码4 sql-gateway都支持哪些功能?原创 2022-01-31 22:04:02 · 1101 阅读 · 0 评论 -
Flink 检测一段时间内的温度连续上升输出报警
需求:Flink 检测10s 的温度连续上升,则输出报警方案:我们使用了keyBy函数,因为只有KeyedProcessFunction只能操作KeyedStream下面简单介绍一下KeyedStreamKeyedProcessFunction类型的上层父类是RichFunction, 对分流后每一个元素调用一次KeyedProcessFunction中的elementProcess方法,可以通过Context调用timeServier, 注册定时器, 获得当前水位线, 处理时间, 等信息。.原创 2021-04-06 16:37:09 · 1616 阅读 · 0 评论 -
Flink与外部存储交互优化
在Flink流式程序设计中,经常需要与外部系统进行交互,很多时候外部系统的性能会成为任务整体吞吐的瓶颈,通常的解决方案会通过提高任务并发度增加对外部系统并发访问,如此会带来Flink额外的资源管理负载以及整体cpu利用率不高的问题。对于Flink与外部存储交互的场景,可以通过Flink 异步IO和单并发度多线程的机制提高任务吞吐能力,而不需要提高任务并发度从而提升整体资源利用率。一、 Flink异步IO对于Flink程序,通常的交互实现为同步请求,即发送一个请求,直到...原创 2021-04-06 16:28:50 · 423 阅读 · 0 评论 -
Flink 数据积压问题
目录项目背景问题描述问题定位如何定位到底是哪个算子处理能力跟不上?结论问题解决思路解决项目背景将数据(kafka)以批量的方式,通过SCF接口写入TIDB中 过滤出指定的用户id,发到对应的规则检测kafka主题中整体的数据流程图,如下图所示:问题描述运行一段时间后发现,消费开始积压,通过wstream的监控(也可以查看kafka的监控)问题定位如何定位到底是哪个算子处理能力跟不上?我们明明写了...原创 2021-04-06 15:59:30 · 2793 阅读 · 0 评论 -
Flink checkpoint失败
目录前言问题描述问题定位checkpoint的基本原理思路现象问题解决前言Flink容错机制的核心部分是绘制分布式数据流和操作员状态的一致快照。这些快照充当一致的检查点,如果发生故障,系统可以回退到这些检查点。Flink绘制这些快照的机制在“分布式数据流的轻量级异步快照”中进行了介绍。它受用于分布式快照的标准Chandy-Lamport算法的启发,并且专门针对Flink的执行模型进行了量身定制。问题描述flink任务,从kafka中获取数据,经过处理,写...原创 2021-04-06 15:53:09 · 2286 阅读 · 1 评论