Hive 架构
2022-08-21 15:47:04 5 举报
Hive是基于Hadoop的一个数据仓库工具,可以将复杂的MapReduce任务转化为简单的SQL查询语句,使数据分析师和开发人员能够更轻松地处理大规模数据集。Hive的核心组件包括:CLI(命令行界面)、JDBC/ODBC驱动程序、元数据库(Metastore)、编译器、优化器和执行引擎。其中,元数据库存储了表的结构信息、分区信息和存储路径等元数据,而编译器将SQL语句编译成MapReduce任务,优化器对任务进行优化以提高执行效率,最后由执行引擎执行任务并返回结果。Hive支持多种数据格式,如文本文件、SequenceFile、Avro、Parquet等,同时也支持自定义数据格式。
作者其他创作
大纲/内容
(1)Parser:将 HQL 语句转换成抽象语法树(AST:Abstract Syntax Tree)(2)Semantic Analyzer:将抽象语法树转换成查询块(3)Logic Plan Generator:将查询块编译成逻辑查询计划(4)Logic Optimizer:重写逻辑查询计划,优化逻辑执行计划(5)Physical Plan Gernerator:将逻辑计划转化成物理计划(MapReduce Jobs)(6)Physical Optimizer:选择最佳的 Join 策略,优化物理执行计划。最后执行。
Execution执行器
YARN 集群(MapReduce 分析计算)
Query Optimizer优化器
返回 MapReduce 结果
Hive
Compiler编译器
Hive 架构
Client
JDBC
ODBC
元数据,数据的数据。元数据包括:表名表结构信息表所属的数据库表的拥有者(权限信息)列/分区字段表的类型(是否是外部表)表的数据所在目录等元数据的存放一般需要借助于其他的数据载体(Derby 或 MySQL),默认存放在自带的 Derby 数据库(单用户局限性)中,推荐使用 MySQL 进行存储。连接数据库需要提供:uri、username、password、driver。
Hive SQL
Meta Store
SQL Parser解析器
HiveServer2
Belline CLI
Driver
CLIHive Shell
WEBUI
Thrift Server
HDFS 集群(数据存储)
Hadoop
提交 MapReduce
0 条评论
下一页