hive架构图
2025-06-12 23:22:08 1 举报
Hive是基于Hadoop的数据仓库工具,其核心架构分为四层: 用户接口层:支持CLI、JDBC/ODBC、WebUI等交互方式,提供类SQL的HiveQL查询接口。 驱动层:包含解析器(生成AST)、编译器(优化逻辑/物理计划)、执行引擎(转换为MapReduce/Tez/Spark任务)。 元数据层:Metastore存储表结构、分区等元数据,默认使用Derby(单机)或MySQL(生产环境)。 存储计算层:依赖HDFS存储数据,通过YARN调度资源,支持MapReduce/Tez/Spark计算框架。 关键特性包括: 元数据与数据分离:Metastore独立于HDFS,便于多引擎共享;
作者其他创作
大纲/内容
HIVE CLI
task Tree
JDBC
Parser
Query Optimizer
physical optimizer
计算引擎
HDFS
Hive
beeline cli
MetaStore
AST
元数据包括:库名、表名、列名、分区名以及类型信息与层级关联关系所属者信息(可关联鉴权系统)表的类型(内外表)表数据所在存储目录等其他...
Analyzer
HQL
HiveServer2
ODBC
logical plan
SQL ON HADOOP
Thrift Server
Web GUI
数据存储
Compiler
physical plan
SPARK
SQL Parser
MR
Execution
operator Tree
HIVE Server
Parser:将sql解析为AST(抽象语法树),会进行语法校验,AST本质还是字符串Analyzer:语法解析,生成QB(query block)Logicl Plan:逻辑执行计划解析,生成一堆Opertator TreeLogical optimizer:进行逻辑执行计划优化,生成一堆优化后的Opertator TreePhsical plan:物理执行计划解析,生成taskTreePhsical Optimizer:进行物理执行计划优化,生成优化后的taskTree,该任务即是集群上的执行的作业结论:经过以上步骤,解析过的sql映射成在集群上执行的Task,比较重要的是逻辑执行计划优化、物理执行计划优化(图中红线圈画),另外,可通过explain + SQL 语句查看执行计划。
hive shell
OSS
支持数据库类型:DerbyMySQLPostgreSQLOracleMS SQL Server建议生产环境使用主从备份
QB
logical optimizer
DRIVER
TEZ
S3
0 条评论
下一页