假期总结之Hive基础架构
Apache Hive其2大主要组件就是: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等服务进程向用户提供操作接口