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