Hive QL模块执行计划优化分析
2021/12/10 6:17:01
本文主要是介绍Hive QL模块执行计划优化分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Transform
查询优化的基类,优化过程通过子类重写transform(ParseContext pctx)
函数实现。
/** * Optimizer interface. All the rule-based optimizations implement this * interface. All the transformations are invoked sequentially. They take the * current parse context (which contains the operator tree among other things), * perform all the optimizations, and then return the updated parse context. */ public abstract class Transform { /** * All transformation steps implement this interface. * * @param pctx * input parse context * @return ParseContext * @throws SemanticException */ public abstract ParseContext transform(ParseContext pctx) throws SemanticException; public void beginPerfLogging() { PerfLogger perfLogger = SessionState.getPerfLogger(); perfLogger.perfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); } public void endPerfLogging() { PerfLogger perfLogger = SessionState.getPerfLogger(); perfLogger.perfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER); } public void endPerfLogging(String additionalInfo) { PerfLogger perfLogger = SessionState.getPerfLogger(); perfLogger.perfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, additionalInfo); } }
SimpleFetchOptimizer
通过对执行计划的判断,根据数据量以及是否需要group by等操作判断是否可以直接返回hdfs中的数据,避免执行mapreduce过程。
/** * Tries to convert simple fetch query to single fetch task, which fetches rows directly * from location of table/partition. */
这篇关于Hive QL模块执行计划优化分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略