TopDownRuleDriver 是 cascades 论文的标准实现,我们以下面的 case 来跟踪代码: TopDownRuleDriver 主要有以下成员: TopD...
TopDownRuleDriver 是 cascades 论文的标准实现,我们以下面的 case 来跟踪代码: TopDownRuleDriver 主要有以下成员: TopD...
一、IterativeRuleQueue 该算法不断的从 RuleQueue 中取出 Rule 并执行,该过程有两个退出条件: RuleQueue 空了:没有 Rule 需要...
一、问题 & 目标 数据库/大数据引擎主要由三部分组成,分别是解析器、优化器和执行引擎,如下图所示: 其中,优化器在很大程度上决定了性能,其作用好比找到两点之间的最短路径。优...
一、如何选取到 broadcast join Join 具有 hint 的情况会调用 createBroadcastHashJoin(onlyLookingAtHint = ...
一、Join 逻辑计划生成 和 Join 相关的逻辑层的优化规则主要包含以下几种: ReorderJoin EliminateOuterJoin 👍🏻DPP 动态分区裁剪[h...
Paper "Optimizing Queries Using Materialized Views: A Practical, Scalable Solution" Bac...
由前文我们知道,StreamGraph 表示一个流任务的逻辑拓扑,可以用一个 DAG 来表示(代码实现上没有一个 DAG 结构),DAG 的顶点是 StreamNode,边是...
一、作业生成及提交整体流程 上图为一个 Flink 作业的提交流程,主要可以分为以下几个步骤: Client 将作业 code 生成 StreamGraph(在 Batch ...
javacc 会根据 parser.jj 中定义的相互穿插的 Token、Java 代码来自动生成 org.apache.calcite.sql.parser.impl.Sq...
上节中我们已经定义了Performance接口,他是切面中的切点的一个目标对象。那么现在就让我们使用AspectJ注解来定义切面吧。 1.定义切面 下面我们就来定义一场舞台剧...
实际开发中客户端与服务端的通信内容往往需要通过密文传输,本文将介绍可以实现Java与js的互相加解密的AES加密方式 Java语言实现 js实现 需要引入 aes.js依赖包...
1. Why? 通过 maven-shade-plugin 生成一个 uber-jar,它包含所有的依赖 jar 包。 2. Goals GoalDescriptionsha...
@凛冬将至m 另外两篇文章有提到
Apache Kylin 概览扩展阅读: Apache Kylin 查询流程源码剖析 - 简书[https://www.jianshu.com/p/21df8303d2ae] 可能是全网最深度的 Apac...