Hive的基本概念
1. 什么是Hive?
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL的查询。
本质:将类SQL语句转换成MR(MapReduce以下简称MR)程序运行。
Hive既不存储数据也不计算数据,它的数据存储在HDFS上,分析数据的底层是MR,执行在Yarn上。
2. 优缺点
①上手简单,不需要在编写复杂的MR程序
②Hive执行的延迟较高,不适合实时。
③Hive优势在与大数据,对小数据没有优势
④支持自定义函数,用户可以根据需求自己实现函数
⑤Hive的类SQL表达能力有限,无法表达迭代式算法
⑥效率相对较低,自动化转成MR程序很粗糙,难以优化。
3. Hive架构原理
Metastore:存储表名、表属性等元数据
Client:用户接口(CLI、JDBC等)
Hadoop:使用HDFS进行存储,使用MapReduce进行计算
Driver:驱动器
(1)解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比