Hadoop Hive 和 YARN 的关系

一句话总结:

Hive 是数仓 SQL 工具,本身不做计算;

YARN 是 Hadoop 的资源调度管理器,给 Hive 的计算任务分配服务器资源,运行 MapReduce/Tez/Spark 计算程序;

一、各自角色

1. Hive

  • Hive 是数仓工具,提供 Hive‑SQL,把我们写的 SQL 语句,编译翻译成分布式计算任务(MR / Tez / Spark)。
  • Hive 本身不做真正的数据计算,只负责:解析 SQL、生成执行计划、生成任务。
  • Hive 自己不管理 CPU、内存服务器资源。生成完任务之后,把任务提交给 YARN 去运行。

2. YARN

YARN 是 Hadoop 集群的资源调度框架。

负责整个集群机器的 CPU、内存资源管理;

接收各类应用提交的任务,分配 Container 容器,调度任务在各个节点运行,监控任务运行、失败重启。

不止 Hive 可以用 YARN,Spark、Flink、MR 程序都可以提交到 YARN 上跑。

二、完整执行流程(Hive on MapReduce 最经典)

  1. 用户写一条 Hive SQL,在 hive 客户端执行;
  2. Hive 解析、编译 SQL,生成 MapReduce 作业;
  3. Hive 客户端把这个 MR 作业提交给 YARN ResourceManager;
  4. RM 根据集群资源情况,分配 Container 容器;
  5. 在容器里面启动 Map Task、Reduce Task,读取 HDFS 上的数据做计算;
  6. 计算完成,结果写回 HDFS,Hive 拿到结果返回给客户端。

Hive 就像项目经理,写好施工方案;

YARN 是工地总管,分配工人机器资源,真正干活;

三、形象比喻

  • Hive:翻译官,把 SQL 翻译成分布式任务说明书。
  • YARN:工厂调度,分配机器内存 CPU,启动 task 真正干活。
  • HDFS:仓库,存放原始数据和计算结果。

四、常见部署模式

  1. Hive‑on‑MR:SQL 编译成 MapReduce 任务,提交 YARN 运行(老常用)
  2. Hive‑on‑Tez:编译成 Tez 任务,提交 YARN
  3. Hive‑on‑Spark:编译 Spark 任务,提交 YARN

不管底层是 MR/Tez/Spark,资源全部由 YARN 统一调度。

五、重要区分

  1. Hive 不存储数据,数据存在HDFS;
  2. Hive 不调度资源,资源交给YARN;
  3. Hive 元数据(表名、分区、字段)存在MySQL 元数据库 Metastore;

六、精简版

Hive 是 Hadoop 上的数据仓库工具,提供 Hive‑SQL。Hive 本身不执行计算,它会把 SQL 解析编译成 MapReduce、Tez 或者 Spark 任务。

YARN 是 Hadoop 的资源调度框架,负责集群 CPU、内存资源管理。

Hive 将生成的计算作业提交给 YARN,由 YARN 分配 Container 容器,调度 Map、Reduce Task 在集群节点执行计算。

Hive 负责 SQL 解析生成计划,YARN 负责资源调度和实际任务运行。

Hive 的数据存储在 HDFS,元数据存放在 MySQL。

七、高频Q&A

Q:Hive 任务卡住,一定是 Hive 本身问题吗?

A:不一定。

  • 如果任务还没提交 YARN:卡在 Hive 编译、Metastore 元数据查询;
  • 如果任务已经提交 YARN:问题基本出在 YARN 侧:资源不足、数据倾斜、HDFS 读写异常。

Q:如果 YARN 挂了,Hive 还能用吗?

A:不能执行查询计算;只能做简单 show tables 这类元数据查询;所有需要计算的 SQL 全部无法运行。

相关推荐
Q26433650235 小时前
【有源码】基于Spark的电商客户细分与盈利洞察分析系统-面向精准营销的电商客户细分模型构建与盈利能力可视化研究
大数据·hadoop·分布式·数据挖掘·数据分析·spark·毕业设计
计算机源码社7 小时前
【27届大数据毕设】基于Spark的AI艺术创作者价值评估与市场趋势预测研究 基于Python与Spark的AI生成艺术受众画像及异常热度识别可视化平台
大数据·人工智能·hadoop·python·spark·毕业设计·课程设计
千桐科技15 小时前
数据中台 ETL 编排实践:基于 qData 开源版实现数据接入、转换与调度执行
数据仓库·开源·etl
ha_lydms21 小时前
MaxCompute中窗口函数
大数据·hadoop·阿里云·云计算·dataworks·maxcompute·odps
千里码aicood1 天前
基于Hadoop的机票价格波动分析系统的设计与实现
大数据·hadoop·分布式
IT毕设梦工厂1 天前
计算机毕业设计选题推荐:基于大数据的供应链数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计
BYSJMG1 天前
计算机毕业设计选题推荐|【基于深度学习的面部关键特征识别与检测】YOLO目标检测+ONNX推理
大数据·hadoop·数据分析·spark·课程设计
IT毕设梦工厂1 天前
计算机毕业设计选题推荐:基于大数据的二手车数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·数据分析数据可视化
IT毕设梦工厂1 天前
计算机毕业设计选题推荐:基于大数据的购物趋势数据可视化分析系统|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·信息可视化·spark·毕业设计·课程设计·大数据毕设项目
IT毕设梦工厂1 天前
计算机毕业设计选题推荐:基于大数据的城市尾气排放数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·信息可视化·spark·毕业设计·课程设计·大数据毕设项目