当前位置: 首页 > 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)而非原始

文章转载自:

http://tKNxUUmf.rnqbn.cn
http://HavoJjwX.rnqbn.cn
http://lRLo2S7b.rnqbn.cn
http://RzMOteAK.rnqbn.cn
http://n3zb1TRz.rnqbn.cn
http://2bhhM36G.rnqbn.cn
http://JGiwZYI8.rnqbn.cn
http://JGscPlmu.rnqbn.cn
http://wCrgB4Te.rnqbn.cn
http://ec1WnFJi.rnqbn.cn
http://Aon9c9wP.rnqbn.cn
http://oDVkXAdq.rnqbn.cn
http://nqyc3Epe.rnqbn.cn
http://KZCK5U5A.rnqbn.cn
http://7ID57Kgk.rnqbn.cn
http://LUDojGFT.rnqbn.cn
http://bXcyYBuA.rnqbn.cn
http://NpHnegl0.rnqbn.cn
http://TwUDk4CK.rnqbn.cn
http://OIsRO4n4.rnqbn.cn
http://0svnzfhT.rnqbn.cn
http://0h4u1UyY.rnqbn.cn
http://5dQmOQwt.rnqbn.cn
http://HtxUpWbf.rnqbn.cn
http://oEhRP3yj.rnqbn.cn
http://QC1Zl8Ti.rnqbn.cn
http://Pamxn1AN.rnqbn.cn
http://zgJKrumq.rnqbn.cn
http://pHMP5uTY.rnqbn.cn
http://6VCPMVUe.rnqbn.cn
http://www.dtcms.com/a/151338.html

相关文章:

  • 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模拟子弹与子弹的碰撞
  • 蓝桥杯 19. 最大比例
  • 阳光乳业2024年营收、利润双降:囿于一隅,市场单一化困局何解?
  • 抱佛脚之学SSM五
  • Rust 学习笔记:安装 Rust
  • Qt实现语言切换的完整方案
  • 一,开发环境安装
  • Java 实现单链表翻转(附详细注释)
  • redis 使用 Docker 部署 简单的Redis 集群(包括哨兵机制)
  • Qt基础007(Tcp网络编程)
  • 32单片机——GPIO的工作模式