更新时间:2023年08月09日18时21分 来源:传智教育 浏览次数:
Hive其2大主要组件就是SQL解析器以及元数据存储,SQL解析器(Driver驱动程序)用于完成SQL解析、执行优化、代码提交等功能,元数据存储帮助记录各类元数据。下面来详细介绍。
元数据存储
原数据存储通常是存储在关系数据库如mysql/derby中。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。-- Hive提供了Metastore服务进程提供元数据管理功能。
Driver驱动程序,包括语法解析器、计划编译器、优化器、执行器
完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有执行引擎调用执行。这部分内容不是具体的服务进程,而是封装在Hive所依赖的Jar文件即Java代码中。
用户接口
包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议。WebGUI是通过浏览器访问Hive。Hive提供了 Hive Shell、 ThriftServer等服务进程向用户提供操作接口。