Hive 具有 SQL 数据库的外表,但应用场景完全不同, Hive 只适合用来做批量海量数据统计分析,也就是数据仓库。
Hive 是基于 Hadoop 的一个数据仓库工具,实质就是一款基于 HDFS 的 MapReduce 计算框架,因为Hive 依赖于 HDFS 存储数据,将 HQL 转换成 MapReduce 执行
Hive优缺点如下:
优点:Hive作为一个基于Hadoop的数据仓库工具,提供了简单的SQL查询功能,简化了MapReduce的编写操作,适用于大数据集的批量处理作业,例如,网络日志分析。
缺点:Hive的HQL表达能力有限,对于较复杂的运算HQL不易表达;另外,Hive具有高延迟性,不适合那些低延迟的应用,如:OLTP系统。它不提供实时的查询和基于行级的数据更新操作
Hive的核心,负责SQL语句的语法、语义解析,生成查询计划用户提交SQL给Hive,由Driver负责解析SQL,在解析时会加载相关的元数据信息,生成执行计划,生成Job交给Hadoop运行,然后Driver将结果返回给用户
HQL 通过命令行或者客户端提交,经过 Compiler 编译器,运用 MetaStore 中的元数据进行类型检测和语法分析,生成一个逻辑方案(logical plan),然后通过优化处理,产生一个 MapReduce 任务
那什么是元数据,元数据存储又是什么?
1)元数据是什么?
存储在Hive中的数据的描述信息----数据结构(数据集的名称、关系、字段、约束等)的描述
2)有哪些?
表的名、表的列和分区以及属性(内部表和外部表)、表的数据所在目录
3)存在哪儿?
自带数据库Derby。缺点:不适合多用户操作,并且数据存储目录不确定
4)解决方案
存在自己创建的MySQL中(本地或远程)
免责申明:
本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!
《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu
《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址: