Hive架构图

一、什么是hive?

  hive是基于hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在hadoop、中的大规模数据的机制。hive数据仓库工具能将将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

     二、架构图

Hive架构图_第1张图片

        Meta store(元数据存储):通常是存储在关系数据库如mysql/derby中。hive将元数据存储在数据库中,hive中的元数据包括表的名字,表的列和分区,表的属性(内部表、外部表)。

        Client(用户接口):包括CLI、JDBC/ODBC、WebGUICLIshell命令行;JDBC/ODBChivejava实现;WebGUI通过浏览器访问hive

        解析器、编译器、优化器、执行器:完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,最后由MapReduce调用执行。

详解:

        Hive通过给用户提供一系列交互接口,接收用户的指令(shell脚本、sql语句),将sql转换成抽象语法树AST的解析器,将AST编译成逻辑执行计划的编译器,在对逻辑执行计划进行优化,最后将逻辑计划转变成MapReduce,提交给HDFS。

你可能感兴趣的:(大数据,hive,hadoop)