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

Hive中Map和Reduce阶段的分工

在Hive查询执行过程中,Map和Reduce阶段有明确的分工,但实际情况要复杂一些。

基本分工原则

  1. ​Map阶段​​:

    • 主要职责是读取输入数据并进行初步处理
    • 输出键值对形式的数据
  2. ​Reduce阶段​​:

    • 接收Map阶段输出的键值对
    • 对相同键的值进行聚合/计算
    • 输出最终结果

实际执行中的复杂情况

1. Map阶段也可以进行计算

在Hive中,Map阶段并非只是简单输出键值对,它也可以进行部分计算:

  • ​Map端聚合(Map-side Aggregation)​​:

    • 当启用hive.map.aggr=true
    • Map任务会在本地先对相同键的值进行部分聚合
    • 例如对于SELECT city, COUNT(1) FROM tb GROUP BY city
      • Map任务会维护一个HashMap,对相同city的计数进行本地累加
      • 输出(city, partial_count)而非原始

相关文章:

  • C++笔记-stack_queue(含deque,priority_queue,仿函数的讲解)
  • NHANES指标推荐:CTI
  • NOIP2012提高组.同余方程
  • Java基础复习(JavaSE进阶)第九章 网络编程
  • 考研单词笔记 2025.04.23
  • 脂质体挤出器有哪些知名品牌?
  • 2025深圳中兴通讯安卓开发社招面经
  • 【金仓数据库征文】从Oracle到KingbaseES的语法兼容与迁移
  • Spring Boot 项目:如何在 JAR 运行时读取外部配置文件
  • 【每日八股】复习计算机网络 Day4:TCP 协议的其他相关问题
  • 【Java学习笔记】random的使用
  • 并行RANSAC平面拟合(C++)
  • [特殊字符]‍[特殊字符]Linux驱动开发入门 | 并发与互斥机制详解
  • ActiveMQ 核心概念与消息模型详解(二)
  • centos7 设置EMQX开机自启动(创建init.d脚本来设置emqx的自启动服务)
  • 文档构建:Sphinx全面使用指南 — 实战篇
  • leetcode 二分查找应用
  • 未曾设想的道路1
  • idea无法下载源代码
  • 使用Python模拟子弹与子弹的碰撞
  • “五一”假期首日国铁郑州局迎大客流,预计发送旅客逾95万人次
  • 全国人大常委会关于授权国务院在中国(新疆)自由贸易试验区暂时调整适用《中华人民共和国种子法》有关规定的决定
  • 韩国检方结束对尹锡悦私宅的扣押搜查
  • “80后”杨占旭已任辽宁阜新市副市长,曾任辽宁石油化工大学副校长
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 国家能源局通报上月投诉情况:赤峰有群众反映电费异常增高,已退费