Flink源码解读系列
Flink源码解读系列
小凯Alex
这个作者很懒,什么都没留下…
展开
-
Flink源码解读(四) Flink1.9之新特性--数据结构二进制化&minibatch aggregation
数据结构二进制化源码解读org/apache/flink/table/dataformat/BinaryRow.java由Flink的最小内存管理单元 MemorySegment 支撑实现,能够大量减少序列化与反序列化的开销正如上图所示,一个binary row含有两个部分: 定长和变长部分Fixed-length part:一个字节长的headernull bit sets ...原创 2019-08-27 22:45:01 · 1337 阅读 · 0 评论 -
Flink SQL源码解读之Hybrid Hash join
SQL如何被处理?词法语法的解析,生成一颗带有token结点的语法树。* 语义分析这时候每个结点都携带了一些具体信息,这时候生成的是一串中缀表达式。然后进入改写过程,改写属于逻辑优化。优化器处理在这里确定连接的顺序以及连接方式。优化器处理完,生成一颗执行计划树,然后由下至上递归处理。Hash join算法复杂度为O(n),两张表分别只需要扫一次。但是只能用在等值连接。...原创 2019-08-25 14:19:46 · 1466 阅读 · 0 评论 -
Flink源码学习(二) 维表JOIN&异步优化源码解读
ref:https://yq.aliyun.com/articles/457385?spm=a2c4e.11153959.blogcont457438.27.67c71e995MMbLXf 摘抄自上文好资料:flink sql各个sql语句功能介绍可以以此为着手点做优化。流计算中常见需求就是为数据流补齐字段。数据采集端收集的数据往往有限,因此在做数据分析之前,需要把所需的维度信息补全。比如采...原创 2019-08-20 23:51:19 · 869 阅读 · 0 评论 -
Flink-SQL源码解读(一)window算子的创建的源码分析
本文大体框架参考 https://blog.csdn.net/LS_ice/article/details/90711744flink版本:1.9Intro作为无限流的核心机制,流可以分割为大小有限的窗口,通过在窗口内进行聚合。把源源不断产生的数据根据不同的条件划分成一段一段有边界的数据区间,使用户能够利用窗口功能实现很多复杂的统计分析需求。windowOperator算子的创建架构w...原创 2019-08-18 23:10:52 · 1583 阅读 · 0 评论 -
Flink原理,实战与性能优化读书笔记(四) watermark+window
遇到以下问题:把那个灰色的import引入就好指定TimeStamp 与 生成 WatermarksSource Function 直接定义 Timestamps 与 watermarkscollectWithTimestamp() 生成时间戳 第一个参数指数据,第二个参数是时间戳emitWatermark 创建watermark在addSource中通过实现SourceFuncti...原创 2019-08-31 11:09:49 · 2738 阅读 · 0 评论