当前位置:  开发笔记 > 编程语言 > 正文

Hive与HBase相比如何?

如何解决《Hive与HBase相比如何?》经验,为你挑选了4个好方法。

我有兴趣了解最近发布的(http://mirror.facebook.com/facebook/hive/hadoop-0.17/)Hive在性能方面与HBase的比较.Hive使用的类似SQL的接口比我们实现的HBase API要好得多.



1> Chris Bunch..:

很难找到关于Hive的内容,但是我发现Hive网站上的这个片段大量倾向于支持HBase(粗体添加):

Hive基于Hadoop,这是一个批处理系统.因此,该系统不会也不能承诺对查询的低延迟.这里的范例严格来说是提交工作并在完成工作时通知,而不是实时查询.因此,不应将其与像Oracle这样的系统进行比较,在这些系统中,对数据量显着减少的数据进行分析,但分析的迭代次数要多得多,迭代之间的响应时间少于几分钟.对于Hive查询,即使是最小的作业,响应时间也可能是5-10分钟,而对于较大的作业,这甚至可能会持续数小时.

由于HBase和HyperTable都是关于性能的(以Google的BigTable为模型),它们听起来肯定比Hive快得多,代价是功能和更高的学习曲线(例如,它们没有连接或SQL - 类似语法).



2> Jeff Hammerb..:

从一个角度来看,Hive由五个主要组件组成:类似SQL的语法和解析器,查询计划器,查询执行引擎,元数据存储库和列式存储布局.其主要关注点是数据仓库式分析工作负载,因此不需要按密钥检索值的低延迟.

HBase有自己的元数据存储库和列式存储布局.可以通过HBase表创建HiveQL查询,允许HBase利用Hive的语法和解析器,查询计划器和查询执行引擎.有关更多详细信息,请参阅http://wiki.apache.org/hadoop/Hive/HBaseIntegration.



3> Tim..:

Hive是一种分析工具.就像猪一样,它设计用于通过利用map reduce来临时批量处理潜在的大量数据.想想terrabytes.想象一下,试图在关系数据库中做到这一点......

HBase是基于BigTable的基于列的键值存储.虽然您可以通过HBase运行map reduce作业,但您本身无法进行查询.它的主要用例是按键获取行或扫描行的范围.一个主要特征是,当扫描跨越"族"列的行键范围时,能够具有数据局部性.



4> haijin..:

据我所知,Hive与Pig相当.Hive与SQL类似,Pig是基于脚本的.Hive似乎更复杂的是查询优化和执行引擎,并且需要最终用户需要指定模式参数(分区等).两者都打算处理文本文件或sequenceFiles.

HBase用于键值数据存储和检索...您可以扫描或过滤这些键值对(行).您无法对(键,值)行执行查询.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有