1 openLooKeng 算子接口
1.1 openLooKeng算子相关类

▲ 图1-1 算子相关类
openLooKeng生成物理执行计划后,真正执行计划的是一个一个的算子(即Operator)。openLooKeng中将算子抽象为Operator接口,将算子工厂抽象为OperatorFactory接口,如图1-1所示。
而具体的算子则实现相应的OperatorFactory接口和Operator接口即可。例如Limit算子,在openLooKeng中会相应的有LimitOperatorFactory和LimitOperator。
1.2 openLooKeng算子接口
OperatorFactory提供的接口如表1-1所示:
-
createOperator,创建算子,返回相应的算子实例对象;
-
noMoreOperators,不再创建算子,可以释放OperatorFactory相关的资源;
-
duplicate,在right outer join或者full outer join时用到,用于复制OperatorFactory,返回OperatorFactory实例对象。

▲表1-1 OperatorFactory接口
Operator提供的接口如表1-2所示:
- isBlocked

本文介绍了openLooKeng算子接口和执行流程。openLooKeng将算子抽象为Operator接口和OperatorFactory接口,具体算子如Limit算子实现这两个接口。OperatorFactory提供了创建算子、判断是否结束和复制工厂的方法。Operator接口包含处理输入、输出、完成和关闭等操作。算子执行流程在Driver#processInternal()中,当一个算子被阻塞时,线程会继续处理后续算子。
最低0.47元/天 解锁文章
1671

被折叠的 条评论
为什么被折叠?



