Hive架构原理

155 阅读1分钟

Hive是构建在Hadoop之上的数据仓库工具,主要用于处理大规模结构化数据。其架构设计如下:

架构图

image.png

  1. 用户接口层:提供CLI、JDBC、ODBC等接口供用户提交HQL(Hive Query Language)查询。HQL 类似于SQL,方便用户查询数据。
  2. 元数据存储:Hive使用元数据(Metastore)来存储数据库的结构信息,如表、列的数据类型、表所在的HDFS位置等。元数据通常存储在关系型数据库中,如MySQL。
  3. 查询编译器:将用户提交的HQL解析为具体的查询执行计划,并转换为Hadoop MapReduce、Tez或Spark等作业。
  4. 执行引擎:Hive依赖于Hadoop的执行引擎,将编译后的查询计划转换为MapReduce任务,最终通过HDFS存储或处理查询结果。
  5. HDFS存储层:Hive的数据物理存储层依赖于HDFS,所有的数据文件都存储在HDFS中,并通过分布式文件系统进行高效的存储和读取。