随笔分类 -  大数据 / Flink

摘要:数据类型要求 BatchPhysicalHashAggRule match 条件会判断 isAggBufferFixedLength(agg) 为什么要求 aggCall 的类型是 Fixed Length 的才可以使用 HashAggregate ? 因为在 HashAggregate 中, 依赖 阅读全文
posted @ 2024-05-12 14:54 Aitozi 阅读(191) 评论(0) 推荐(0)
摘要:类型有什么作用, 类型可以提供编译期检查, 避免到运行期才报错. # 类型 首先Flink中自己定义了一套类型, 有`LogicalType`和`DataType`两个表示 ## LogicalType `LogicalType`表示的逻辑类型, 并不涉及类型的物理表示, 会包含nullable属性 阅读全文
posted @ 2023-08-05 00:21 Aitozi 阅读(1036) 评论(0) 推荐(1)
摘要:子图复用优化是为了找到SQL执行计划中重复的节点,将其复用,避免这部分重复计算的逻辑。先回顾SQL执行的主要流程 parser -> validate -> logical optimize -> physical optimize -> translateToExecNode。 而子图复用的逻辑就 阅读全文
posted @ 2022-09-12 22:37 Aitozi 阅读(564) 评论(0) 推荐(0)
摘要:背景 今天我们来聊一聊flink中状态rescale的性能优化。我们知道flink是一个支持带状态计算的引擎,其中的状态分为了operator state和 keyed state两类。简而言之operator state是和key无关只是到operator粒度的一些状态,而keyed state是 阅读全文
posted @ 2022-01-22 15:13 Aitozi 阅读(458) 评论(0) 推荐(0)
摘要:因为目前我司使用的版本还是和Blink对齐的版本,所以本文还是先针对Blink中对于回撤的实现来进行源码分析。 概念 回撤这个概念,是流计算中特有的,简单理解起来就是将先前的计算结果回撤,那什么场景下会出现回撤呢?当"中间计算结果"被提前下发时,后续更新结果时,需要将先前的中间值回撤,并下发更新后的 阅读全文
posted @ 2021-12-26 19:06 Aitozi 阅读(524) 评论(0) 推荐(0)