Hive 概述:
Hive 作为数据仓库的重要工具,它底层其实还是 MR 程序,因为 MR 程序代码书写比较复杂,所以为了方便程序员就有了 Hive。
Hive 的数据存储在 HDFS 上,元数据信息存储在 MySQL 上。
Hive 的执行原理(SQL 到 MR 的过程):
Hive 的分析框架还是 MR,Hive 的执行原理底层其实就是:
(1)先对 HQL 进行解析,生成对应的抽象语法树
(2)再将生成的语法树转换成逻辑执行计划。
(3)接着将逻辑执行计划转换为物理计划,即将逻辑计划转换为可执行的 MR 作业。
(4)最后 Hive 将生成的 MR 作业提交到 YARN 集群中运行,作业一旦提交成功,MR 就会开始工作。
所以,Hive 的执行过程大致就是先解析、再编译、再优化、最后交给 MR 执行。