hive的物理执行计划涉及到的类
时间: 2023-08-14 09:07:46 浏览: 35
在 Hive 中,物理执行计划是通过将逻辑执行计划(Logical Plan)转换而来的,其中涉及到的类主要有以下几个:
1. PhysicalPlan:物理执行计划的根节点,包含了多个物理操作(Physical Operator)。
2. PhysicalOperator:物理操作的抽象基类,包含了执行该操作所需的输入、输出、配置等信息。
3. MapWork:MapReduce 任务的抽象基类,包含了 Map 阶段的相关信息,如 Mapper 类、输入格式、输出格式等。
4. ReduceWork:MapReduce 任务的抽象基类,包含了 Reduce 阶段的相关信息,如 Reducer 类、输入格式、输出格式等。
5. FileSinkOperator:文件输出操作,将计算结果输出到文件系统中。
6. TableScanOperator:数据扫描操作,从 Hive 表中读取数据。
7. SelectOperator:查询操作,对输入数据进行筛选、投影等操作。
8. JoinOperator:连接操作,对输入数据进行连接操作。
9. GroupByOperator:分组操作,对输入数据进行分组操作。
10. SortOperator:排序操作,对输入数据进行排序操作。
这些类都是在 Hive 的编译器中定义的,用于将用户输入的 HiveQL 查询语句转换成物理执行计划,最终生成 MapReduce 作业并提交到 Hadoop 集群中执行。
相关问题
hive SQL执行计划
Hive SQL执行计划是指Hive在执行SQL语句时生成的查询执行计划。它描述了Hive如何执行查询,包括数据的读取、处理和输出等过程。Hive使用解析器将SQL语句解析为一棵抽象语法树(AST),然后通过优化器生成最终的执行计划。
Hive SQL执行计划通常包括以下几个关键步骤:
1. 解析:将SQL语句解析为一棵抽象语法树(AST),识别出查询的各个组成部分,如表名、列名、条件等。
2. 语义分析:对AST进行语义分析,验证表名、列名的正确性,并进行类型检查等。
3. 优化:通过优化器对查询进行优化,包括重写查询、选择合适的连接方式、选择合适的索引等。优化的目标是提高查询性能和效率。
4. 生成执行计划:根据优化后的查询,生成最终的执行计划。执行计划通常以树状结构表示,每个节点代表一个操作,如扫描表、过滤条件、连接操作等。
5. 执行计划的执行:根据生成的执行计划,按照节点的顺序执行各个操作,读取数据、进行处理,并输出结果。
在Hive中,可以通过EXPLAIN关键字来查看SQL语句的执行计划。执行EXPLAIN语句后,Hive会将执行计划以文本形式输出,可以查看每个节点的操作和顺序。
Hive sql 执行计划
Hive SQL的执行计划是描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。执行计划可以通过在查询语句的SQL前面加上关键字explain来查看。在执行计划中,可以看到SQL的执行顺序、使用的索引、表的连接方式等信息。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)