Hive的执行原理、与关系型数据库的比较

查看数: 14406 | 评论数: 4 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-7-23 16:44

正文摘要:

问题导读: 1.什么是Hive?2.Hive编译流程是什么?3.Hive与数据库有什么区别? 1. Hive执行原理 2. Hive和数据库异同 由于Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结 ...

回复

末路繁华 发表于 2016-10-21 15:28:40
sdsdfsd
xingoo 发表于 2016-8-22 16:03:25
bravecharge 发表于 2016-7-25 14:10
有个疑惑是 hive 是否有对分区目录数做限制, 假如我的分区目录数太多的话 会不会有什么隐患?

是这样的,按照《Hive编程指南》的说法:
第一点:
如果分区过多-->创建大量的hadoop文件和文件夹-->Namenode需要维护大量的信息(存储在内存中)-->Hdfs就会爆掉。


第二点:
每个MR任务会转换成Task-->每个Task是新的JVM实例(开启、销毁开销很大)-->每个文件都对应一个task。
这就导致JVM开启和销毁的时间会很长...甚至超过计算的时间。

理想的方案:不要太多的分区和文件目录,每个文件目录的文件最好很大。

参考《Hive编程指南》127页
bravecharge 发表于 2016-7-25 14:10:25
有个疑惑是 hive 是否有对分区目录数做限制, 假如我的分区目录数太多的话 会不会有什么隐患?
jack_zhang 发表于 2016-7-24 09:13:55
对hive和RDBMS有一个较为感性的认识了!
适合初次接入者
关闭

推荐上一条 /2 下一条