TopDownRuleDriver 是 cascades 论文的标准实现,我们以下面的 case 来跟踪代码: TopDownRuleDrive...
一、IterativeRuleQueue 该算法不断的从 RuleQueue 中取出 Rule 并执行,该过程有两个退出条件: RuleQueu...
一、问题 & 目标 数据库/大数据引擎主要由三部分组成,分别是解析器、优化器和执行引擎,如下图所示: 其中,优化器在很大程度上决定了性能,其作用...
一、如何选取到 broadcast join Join 具有 hint 的情况会调用 createBroadcastHashJoin(onlyL...
一、Join 逻辑计划生成 和 Join 相关的逻辑层的优化规则主要包含以下几种: ReorderJoin EliminateOuterJoin...
Paper "Optimizing Queries Using Materialized Views: A Practical, Scalabl...
由前文我们知道,StreamGraph 表示一个流任务的逻辑拓扑,可以用一个 DAG 来表示(代码实现上没有一个 DAG 结构),DAG 的顶点...
一、作业生成及提交整体流程 上图为一个 Flink 作业的提交流程,主要可以分为以下几个步骤: Client 将作业 code 生成 Strea...
javacc 会根据 parser.jj 中定义的相互穿插的 Token、Java 代码来自动生成 org.apache.calcite.sql...