Hive企业级调优[3]—— Explain 查看执行计划

Explain 查看执行计划

Explain 执行计划概述

EXPLAIN 命令呈现的执行计划由一系列 Stage 组成。这些 Stage 之间存在依赖关系,每一个 Stage 可能对应一个 MapReduce Job 或者一个文件系统的操作等。如果某 Stage 对应了一个 MapReduce Job,则该 Job 在 Map 端和 Reduce 端的计算逻辑分别由 Map Operator Tree 和 Reduce Operator Tree 描述。Operator Tree 包含了一系列 Operator,每个 Operator 表示 Map 或 Reduce 阶段中的一个单独逻辑操作,如 TableScan Operator、Select Operator、Join Operator 等。

常见的 Operator 及其作用如下:

  • TableScan:表扫描操作,通常在 Map 端的第一个操作是表扫描。
  • Select Operator:选取操作。
  • Group By Operator:分组聚合操作。
  • Reduce Output Operator:输出到 Reduce 操作。
  • Filter Operator:过滤操作。
  • Join Operator:Join 操作。
  • File Output Operator:文件输出操作。
  • Fetch Operator:客户端获取数据操作。
基本语法
sql 复制代码
EXPLAIN [FORMATTED | EXTENDED | DEPENDENCY] query-sql

其中,FORMATTEDEXTENDEDDEPENDENCY 是可选关键字,各自的作用如下:

  • FORMATTED:将以 JSON 字符串形式输出执行计划。
  • EXTENDED:输出执行计划中的额外信息,通常是读写文件名等信息。
  • DEPENDENCY:输出执行计划中读取的表及分区。
案例实操

1)查看以下 SQL 语句的执行计划:

sql 复制代码
hive (default)> explain
select
    user_id,
    count(*)
from order_detail
group by user_id;

2 )执行计划如下图

相关推荐
专注API从业者34 分钟前
Python + 淘宝 API 开发:自动化采集商品数据的完整流程
大数据·运维·前端·数据挖掘·自动化
媒体人8882 小时前
GEO 优化专家孟庆涛:技术破壁者重构 AI 时代搜索逻辑
大数据·人工智能
最初的↘那颗心2 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
君不见,青丝成雪3 小时前
hadoop技术栈(九)Hbase替代方案
大数据·hadoop·hbase
晴天彩虹雨4 小时前
存算分离与云原生:数据平台的新基石
大数据·hadoop·云原生·spark
朗迪锋4 小时前
数字孪生 :提高制造生产力的智能方法
大数据·人工智能·制造
yatingliu20194 小时前
HiveQL | 个人学习笔记
hive·笔记·sql·学习
杨荧5 小时前
基于Python的宠物服务管理系统 Python+Django+Vue.js
大数据·前端·vue.js·爬虫·python·信息可视化
健康平安的活着5 小时前
es7.x es的高亮与solr高亮查询的对比&对比说明
大数据·elasticsearch·solr
缘华工业智维5 小时前
CNN 在故障诊断中的应用:原理、案例与优势
大数据·运维·cnn