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;
热门推荐
刘禹锡《秋词》的赏析及背景
Tomcat下Web项目调试指南:工具配置与实战技巧
耳机软件测试指南:从功能到稳定性全方位解析
宋代钱塘江流域的农业结构调整
中医埋线减肥的坏处,埋线减肥的原理及效果
广角镜头拍摄技巧:风景篇
芭蕉是否有籽?能否食用?(探究芭蕉的果实及其营养价值)
芭蕉是否有籽?能否食用?(探究芭蕉的果实及其营养价值)
早产:定义、症状及预防措施
【纽约时报】吹牛身家超过100亿美元 债务之王特朗普到底欠不欠别人钱
24节气四季养生食方(收藏版)
孩子学习游泳的八大益处
北京路步行街攻略(越秀区北京路步行街游玩攻略)
教师专业发展培训经验介绍
什么是熊市和牛市的市场特征和形成原因?这种市场特征对投资者有何启示?
必看 紫薯和红薯谁才是减肥“王者”
一个紫薯的热量是多少?怎么吃紫薯减肥?
东北菜十大经典名菜,谁才是你心中的NO.1?不是锅包肉,而是它?
西宁十大景点全攻略:从塔尔寺到野生动物园,领略高原明珠的独特魅力
四川人力资源和社会保障厅考试网多久发布招聘信息?
血液传染病五项检查挂什么科
如何正确使用胰岛素?注意这6个安全问题!
机票越贵越不挣钱?民营航司盈利碾压国有三大航
三大航营收均超千亿!前三季多数航司实现盈利,四季度有望“淡季不淡”
财务结算的流程是怎样的
古代西方国家的婚姻制度:一夫一妻制的探讨
2025年人工智能(AI)对个人网站流量的潜在影响分析
寺庙寺庙,千年文化中的分野与融合,“寺”和“庙”有何区别?
电脑开机显示器没反应?常见问题及解决方法
磁致伸缩液位传感器在光伏电池液位检测中的应用