-
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。

-
元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;
-
Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据

-
用户接口:Client
CLI(hiveshell)、JDBC(java访问hive)、WEBUI(浏览器访问hive)
-
元数据:Metastore
元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;
-
驱动器:Driver
- 解析器:将SQL字符串转换成抽象语法树AST(一般是第三方工具:antlr等)对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。
- 编译器:将AST编译生成逻辑执行计划。
- 优化器:对逻辑执行计划进行优化。
- 执行器:把逻辑执行计划转换成可以运行的物理计划。对于Hive来说,就是MR/Spark。
本文深入解析Hive作为Hadoop的数据仓库工具,介绍其元数据管理、用户接口、SQL执行流程,以及关键技术组件如元数据存储、驱动和解析器等。
2998

被折叠的 条评论
为什么被折叠?



