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

hive—1.1、执行优化

文档目录

  • 问题1:hive的MapReduce相比于传统关系型数据库为什么慢?
  • 问题2:MapReduce过程中如何确定进行了什么执行计划?
    • A、谓词下推
    • B:关联方式
    • C:预先聚合
  • 问题3:MapReduce中map和reduce任务数量由什么决定?
    • map任务数量

问题1:hive的MapReduce相比于传统关系型数据库为什么慢?

解答:该问题和多个多个层面相关,具体如下:

A:设计目的

B:硬件性能,一般传统关系型数据库考虑到延迟问题,基本会选择高配的 SSD盘来提升查询效率;而Hadoop因为存储海量数据考虑到成本问题,磁盘类型会选择机械盘;在硬件IO读写上会有一定的差异;

C:计算模型
传统关系型数据库为管道式,一个阶段的输出结果会立刻作为下一个阶段的输入继续迭代计算,计算的过程主要依赖内存进行;
hive为阶段式+中间落盘:
致命点:每一个MapReduce任务的输出结果都必须写入磁盘,作为下一个Stage的输入。这意味着大量的、昂贵的磁盘I/O操作。

D:启动开销
传统关系型数据库,都有常驻进程,执行查询时,客户端发送SQL过来,服务端直接使用已经分配好的内存和线程资源开始计算,启动开销忽略不计。
hive启动:用户提交一个Hive查询,系统需要先将其翻译成多个MR任务。
每个MR任务都需要向资源管理器(如Yarn)申请资源,启动Application Master,然后拉起多个Container(JVM进程)来运行Map Task和Reduce Task,这个过程本身就需要几秒甚至十几秒的时间。

E:数据本地性与网络开销
关系型:一般架构设计为存算一体
hive中:在shuffle(混洗)阶段,会存在数据跨节点移动的问题;

F:数据索引与精确裁剪 vs. 全量扫描
传统关系型数据库可以依赖完善的索引功能,直接过滤和定位数据;
hive中即使按照谓词下推来实现了map阶段的数据过滤,因为没有索引也是全表扫描;

Hive 中一张表的数据是按行分散到不同节点的,但每一行自身是完整存储在一个节点上的。

问题2:MapReduce过程中如何确定进行了什么执行计划?

解答:
通过explain sql定位,分别如下:

A、谓词下推

TableScan └── Filter Operator └── predicate:(sbuuid='asdfasdfasd')└── Select Operator └── ListSink

说明:
1)过滤操作紧跟在TableScan之后

Filter Operator直接作为TableScan的子节点,这意味着在读取数据后,立即执行了过滤条件(sbuuid = ‘asdfasdfasd’)

2)没有额外的Stage
整个查询只有一个Stage(Stage-0),说明没有复杂的中间过程,过滤在Map阶段就完成;

3)过滤条件predicate: (sbuuid = ‘asdfasdfasd’)出现在数据扫描阶段
这正是谓词下推的核心特征:在数据读取时就进行过滤;

B:关联方式

关联策略Map阶段是否有独立任务关键特征适用场景
Common Join有Reduce阶段,涉及Shuffle两个大表关联
Map Join否 (只有大表有)无Reduce阶段,小表被广播一大一小表关联
SMB Join (Sort Merge Bucket Join)基于分桶表的优化,Map端直接关联两个分桶且桶数成倍数的表

C:预先聚合

hive的预先聚合官方术语叫 Map端聚合 或 局部聚合,是指 在 Map 阶段先做一次部分聚合,减少发往 Reduce 的数据量。

涉及的参数:SET hive.map.aggr=false;

如何判断有预先聚合操作?
有预先聚合的标志?两个 Group By,Map端 mode=hash,Reduce端 mode=mergepartial

问题3:MapReduce中map和reduce任务数量由什么决定?

解答:
1)由配置参数
2)资源情况
3)输入数据量
多个因素共同决定;

map任务数量

有如下确定规则:
1)一个数据文件确定对应一个map任务;当数据表有很多小文件时,就需要启动很多map任务;
2)按照数据量存储大小/数据块 = map 任务数量

========================================= over ==========================================

http://www.jsqmd.com/news/495409/

相关文章:

  • 2026年镇江AI搜索优化公司推荐——从技术实力到效果落地的深度测评 - 小白条111
  • 程序员小白必看,三个月从零基础到实战,轻松转型大模型开发者!!
  • K8s Pod 网络策略与安全组配置
  • 2026年湖南光石传媒口碑TOP10,专业服务备受认可 - 工业推荐榜
  • 多尺度特征提取块改进YOLOv26空洞卷积与自适应权重融合双重突破
  • 2026 年 AI 产品经理薪资曝光:程序员转型能涨 40%?附完整学习体系 + 成功案例
  • 刘教链|比特观察:一个极致轻量的比特币观察钱包,带你回归聪本位
  • 2026年3月浙江浴室柜厂家权威评测:镱朗实业综合实力领跑 - 2026年企业推荐榜
  • 传统 A*算法与改进 A*算法性能大比拼及融合 DWA 避障仿真
  • WSL2+Ubuntu22.04+VScode开发环境
  • 2026年湖南光石性价比高吗?细聊售后完善的湖南光石口碑 - 工业品牌热点
  • 星界云手机APP,在线玩游戏挂机
  • 蓝光管控+红光舒缓,独语N627-1打造科学护眼新范式 - 资讯焦点
  • 突发!阿里本周将推企业级AI Agent,剑指OpenClaw,B端战场再燃战火
  • 第8章:Docker Container数据持久化管理
  • 2026年选教学视频、品牌视频、产品视频制作公司如何选择 - 工业品网
  • 超实用!CAN 总线 CAN 通信中 DBC 文件与 Excel 文件互转工具
  • 2026年乌鲁木齐AI搜索营销公司对比分析:从技术到效果的实用选择攻略 - 小白条111
  • 2026年 温州AI推广与AI运营服务商推荐榜单:专业策略与高效执行助力企业智能转型 - 品牌企业推荐师(官方)
  • 360“安全龙虾”私钥泄露——HTTPS信任链的“心脏停搏”
  • 2026年异型水景专业供应商排名,源石石业口碑与性价比双高推荐 - myqiye
  • 快速兑换盒马鲜生购物卡 - 团团收购物卡回收
  • 2026年成都GEO优化公司推荐Top:AI搜索优化服务商全景解析 - 红客云(官方)
  • HIMA F3113A输出放大器模块
  • 2026国内开源管理软件排名榜单:低成本数字化首选,这几款闭眼入不踩坑 - 资讯焦点
  • 2026年开年,温州老爹鞋供应链五强深度解析 - 2026年企业推荐榜
  • 2026年成都GEO优化选哪家好?成都GEO优化公司排名:GEO服务商哪家靠谱? - 红客云(官方)
  • 刚刚,Karpathy紧急删库!AI职业末日图爆火,6000万白领岗危了
  • 【节点】[SamplerState节点]原理解析与实际应用
  • 初稿论文写作技巧有哪些?深度测评,实用技巧+AI论文生成神器 - 资讯焦点