-
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。