学习 Flink(三):窗口

滚动窗口 滚动窗口(Tumbling Window)又称固定窗口(Fixed Window),将事件分配到固定大小且非重叠的桶中。当超过了窗口边界,事件就会发送到执行函数进行处理。 计数滚动窗口 基于计数的滚动窗口,定义了在出发执行之前需要收集多少事件: ds.keyBy(0) .countWindow(5) // ① .sum(1) .print() ① 计数为 5 的窗口 时间滚动窗口 基于时间的滚动窗口, »

Spark SQL 源码分析(二):SqlParser

SQL on Hadoop 按 SQL 解析可分为两大阵营: ANTLR Apache Calcite ANTLR 阵营的包括:Apache Hive、Apache Spark、Presto Apache Calcite 阵营的包括:Apache Flink、Apache Kylin SparkSession Spark 2. »

Spark SQL 源码分析(一):从 SQL 到 RDD

之前,曾经和同事讨论过一个问题:实现相同的逻辑,使用 RDD 一定比 SQL 执行速度更快么? 我的答案是:不一定。 至少在 Spark 2.0 之后,SQL 的执行速度是有可能比 RDD 更快的。 原因,是因为 SQL 最终生成的是经过优化的 RDD,如下图所示: 生成未解析的逻辑计划 »

学习 Flink(一):初识 Flink

Apache Flink 是在有界(bounded)和无界(unbounded)数据流之上进行有状态计算的框架和分布式处理引擎。 有界数据流,有始有终,之上的计算即为批处理。无界数据流,有始无终,之上的计算即为流处理。 Flink 采用了流优先的架构,批处理被作为流处理的特殊情况。 参考:The world beyond batch: Streaming 101 体系 Runtime Runtime »