Hive查询计划

1、EXTENDED 语句会在执行计划中产生关于算子(Operator)的额外信息,这些信息都是典型的物理信息,如文件名称等

sql 复制代码
EXPLAIN [EXTENDED|CBO|AST|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION|ANALYZE] query

最外层开始,包含两个大的部分:

****stage dependencies:****各个stage之间的依赖性

****stage plan:****各个stage的执行计划

(1)TableScan:表扫描操作,map端第一个操作肯定是加载表,所以就是表扫描操作,常见的属性:

alias:表名称;

Statistics:表统计信息,包含表中数据条数,数据大小等;

(2)Select Operator:选取操作,常见的属性 :

expressions:需要的字段名称及字段类型;

outputColumnNames:输出的列名称;

Statistics:表统计信息,包含表中数据条数,数据大小等;

(3)Group By Operator:分组聚合操作,常见的属性:

aggregations:显示聚合函数信息;

mode:聚合模式,值有;

hash:随机聚合,就是hash partition;

partial:局部聚合;

final:最终聚合;

keys:分组的字段,如果没有分组,则没有此字段;

outputColumnNames:聚合之后输出列名;

Statistics:表统计信息,包含分组聚合之后的数据条数,数据大小等。

(4)Reduce Output Operator:输出到reduce操作,常见属性:

sort order:值为空 不排序;值为 + 正序排序,值为 - 倒序排序;

值为 ± 排序的列为两列,第一列为正序,第二列为倒序.

(5)Filter Operator:过滤操作,常见的属性:

predicate:过滤条件,如sql语句中的where id>=1,则此处显示(id >= 1);

(6)Map Join Operator:join 操作,常见的属性:

condition map:join方式 ,如Inner Join 0 to 1 Left Outer Join0 to 2 keys: join 的条件字段;

outputColumnNames:join 完成之后输出的字段;

Statistics:join 完成之后生成的数据条数,大小等。

(7)File Output Operator:文件输出操作,常见的属性:

compressed:是否压缩;

table:表的信息,包含输入输出文件格式化方式,序列化方式等。

(8)Fetch Operator 客户端获取数据操作,常见的属性:

limit,值为 -1 表示不限制条数,其他值为限制的条数。

2、 explain dependency的用法

explain dependency用于描述一段SQL需要的数据来源,输出是一个json格式的数据,里面包含以下两个部分的内容:

input_partitions:描述一段SQL依赖的数据来源表分区,里面存储的是分区名的列表,如果整段SQL包含的所有表都是非分区表,则显示为空。

input_tables:描述一段SQL依赖的数据来源表,里面存储的是Hive表名的列表。

3、 explain authorization 的用法

通过explain authorization可以知道当前SQL访问的数据来源(INPUTS)和数据输出(OUTPUTS),以及当前Hive的访问用户 (CURRENT_USER)和操作(OPERATION)。

相关推荐
出发行进1 小时前
Hive其四,Hive的数据导出,案例展示,表类型介绍
数据仓库·hive·hadoop
武子康2 小时前
大数据-258 离线数仓 - Griffin架构 配置安装 Livy 架构设计 解压配置 Hadoop Hive
java·大数据·数据仓库·hive·hadoop·架构
Aileen_0v04 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
Rinai_R6 小时前
计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器
笔记·物联网·学习
吃着火锅x唱着歌6 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
ragnwang6 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
胡西风_foxww6 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest
18号房客9 小时前
高级sql技巧进阶教程
大数据·数据库·数据仓库·sql·mysql·时序数据库·数据库架构
胡西风_foxww10 小时前
【es6复习笔记】函数参数的默认值(6)
javascript·笔记·es6·参数·函数·默认值
胡西风_foxww10 小时前
【es6复习笔记】生成器(11)
javascript·笔记·es6·实例·生成器·函数·gen