当前位置: 首页 > news >正文

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:客户端获取数据操作。
 基本语法
EXPLAIN [FORMATTED | EXTENDED | DEPENDENCY] query-sql

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

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

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

hive (default)> explain
selectuser_id,count(*)
from order_detail
group by user_id;

2)执行计划如下图

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux(ubuntu)(文件IO——fopen)
  • 多层感知机paddle
  • 人工智能|集成学习——混合专家模型 (MoE)
  • C#中线程池【异步】
  • C++从入门到入土(五)——再谈构造函数
  • UDP_SOCKET编程实现
  • 2、electron vue3 怎么创建子窗口,并给子窗口路由传参
  • WEB攻防-JS项目Node.js框架安全识别审计验证绕过
  • 好用的工具网址
  • 【资料分析】刷题日记3
  • 代码随想录Day50|图论Part01,leetcode题目:98. 所有可达路径
  • 制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格
  • JS基础之【对象详解 -- 对象的属性与方法、遍历对象与内置对象】
  • PCL 点云圆柱邻域搜索
  • 中国计算机学会(CCF)推荐中文科技期刊目录(2019年)
  • 07.Android之多媒体问题
  • css布局,左右固定中间自适应实现
  • iOS 颜色设置看我就够了
  • node和express搭建代理服务器(源码)
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • vuex 学习笔记 01
  • 二维平面内的碰撞检测【一】
  • 构造函数(constructor)与原型链(prototype)关系
  • 前嗅ForeSpider采集配置界面介绍
  • 什么软件可以剪辑音乐?
  • 使用 QuickBI 搭建酷炫可视化分析
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 因为阿里,他们成了“杭漂”
  • 回归生活:清理微信公众号
  • 数据库巡检项
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • %@ page import=%的用法
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (c语言+数据结构链表)项目:贪吃蛇
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (论文阅读30/100)Convolutional Pose Machines
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三)c52学习之旅-点亮LED灯
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .bat批处理(一):@echo off
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net Stream篇(六)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .net开发引用程序集提示没有强名称的解决办法
  • .net连接MySQL的方法
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)