Hive及其架构简介
创作时间:
作者:
@小白创作中心
Hive及其架构简介
引用
CSDN
1.
https://blog.csdn.net/xfp1007907124/article/details/109753946
Apache Hive是一个建立在Hadoop之上的数据仓库工具,它允许用户使用类似SQL的查询语言(HiveQL)来分析和处理大规模数据集。本文将详细介绍Hive的核心概念、架构组件以及HQL的执行流程,帮助读者更好地理解这一重要的大数据处理工具。
什么是 Hive ?
- 一个基于 Hadoop 的数据仓库,适用于一些高延迟性的应用(离线开发),可以将存储在 Hadoop 文件中的结构化、半结构化数据文件映射为一张数据库表,并基于表提供类似 SQL 的查询模型,称为 Hive 查询语言(HQL),用于访问和分析存储在 Hadoop 文件中的大型数据集;
- Hive 的核心是将 HQL 转换为 MapReduce 程序,然后将程序提交到 Hadoop 集群执行;
- Hive 本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表是纯逻辑表;
什么是数据仓库?
- 数据仓库本身并不“生产“任何数据,其数据来源于不同外部系统;
- 同时数据仓库自身也不需要”消费“任何的数据,其结果开放给各个外部应用使用;
- 这就是为什么叫”仓库“,而不叫”工厂的原因“;
Hive 架构及组件
- Meta store:通常存储在关系型数据库如 Mysql / derby 中,Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否是外部表等),表的数据所在目录等;
- Driver:驱动程序,包括语法解析器、计划编译器、优化器、执行器。完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有执行引擎调用执行;
- 解析器(SQL Parser):将 SQL 字符串转换成抽象语法树 AST ,对 AST 进行语法分析,比如 SQL 语义是否正确、表是否存在、字段是否存在;
- 编译器(Physical Plan):将 AST 编译生成逻辑执行计划(DAG);
- 优化器(Query Optimizer):对逻辑执行计划进行优化;
- 执行器(Execution):把逻辑执行计划转换成可以运行的物理计划,就是 MapReduce / Spark 程序;
HQL 执行流程
- 发起请求:从UI发起执行请求到Driver;
- 获取执行计划:Driver将用户请求发送到编译器获取执行计划;
- 获取元数据:编译器根据 SQL 语句中相关表和分区信息从 Meta store 获取相关元数据;
- 返回元数据:Meta store 向编译器返回对应元数据;
- 返回执行计划:根据表和分区的元数据对 SQL 解析和优化,生成逻辑执行计划。该计划是一个 DAG 图,每个 stage 对应一个 MapReduce 的 map 或者 reduce 操作;
- 运行执行计划:将执行计划发送到 Execution Engine,执行引擎会将逻辑执行计划提交到 Hadoop 中以 MapReduce 形式进行执行;
- 运行结果获取:Driver将运行结果收集发送给UI;
热门推荐
教你如何辨别虾的新鲜程度?
打卡司徒小镇:打铁花表演震撼来袭!
冬日打卡司徒小镇:感受山西非遗魅力
晋城司徒小镇:一场穿越千年的文化盛宴
米其林推荐:香港必吃平民美食
香港小吃经济复苏:市场机遇与投资前景分析
都江堰登高望远的地方有哪些
杭州西湖雷峰塔秋游打卡指南
混凝土振捣规范要求(混凝土如何振捣?)
明查|帕特农神庙露出钢筋?是人类钢筋混凝土的“开山之作”?
为什么狗比猫友好?从多个维度解析宠物行为差异
春节假期上海多景区蛇年主题活动人气高,“一江一河”旅游产品受青睐
福州左海海底世界最新门票优惠及游玩攻略
活力成都年 万千气象新|非遗中的成都年味 你GET到了吗?
来宾美食大挑战:螺蛳粉PK五色糯米饭!
台州到瑞安自驾游攻略:路线详解、加油站位置及注意事项
临沂地下大峡谷VS萤火虫水洞:两大5A景区游玩全攻略
临沂必打卡:煎饼、古城、密室逃脱
冬日打卡:沂蒙山最美雪景指南
焯水,烹饪前不可或缺的一步!10种蔬菜再懒也不能省,别再忽略
清炒瑞士甜菜
秋冬护心必备:大豆卵磷脂软胶囊选购指南
每天按揉这里三分钟,心脏多用十年,预防心血管问题
百病源于经络堵!身上这三经,每天敲敲,浑身轻松百病消
鼓浪屿摄影打卡新地标推荐
特价机票飞桂林,超值旅行攻略
郑州出发特价机票,你的钱包笑了!
春节特价机票:郑州出发低至200元!
拙政园:一座失意御史的园林传奇
拙政园:从明代园林到网红打卡地