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

===============>>#1 票数:49 已采纳

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

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

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

===============>>#2 票数:11

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

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

===============>>#3 票数:8

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

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

===============>>#4 票数:5

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

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

===============>>#5 票数:3

截至最新的Hive版本,由于Hive和HBase现已集成 ,因此需要进行少量更新。 这意味着Hive可以用作HBase数据存储区的查询层。 现在,如果人们正在寻找替代的HBase接口,Pig还提供了一种非常好的加载和存储HBase数据的方法 此外,看起来Cloudera Impala可能会在HBase之上提供基于Hive的大量性能查询。 与传统的Hive设置相比,它们的查询速度提高了45倍。

===============>>#6 票数:3

Hive和HBase用于不同目的

蜂巢:

优点:

  1. Apache Hive是一个建立在Hadoop之上数据仓库基础架构
  2. 它允许查询存储在HDFS上的数据,以便通过类似SQL的语言 HQL进行分析,这种语言将转换为一系列Map Reduce作业
  3. 它只在Hadoop上运行批处理
  4. 符合JDBC ,它还与现有的基于SQL的工具集成
  5. Hive支持分区
  6. 它支持对一段时间内收集的数据进行分析查询

缺点:

  1. 它目前不支持更新语句
  2. 应该为它提供预定义的模式,以将文件和目录映射到列中

HBase的:

优点:

  1. 可扩展的分布式数据库 ,支持大型表的结构化数据存储
  2. 它为您的大数据提供随机,实时的读/写访问 HBase操作在其数据库而不是MapReduce作业上实时运行
  3. 它支持对表的分区 ,并且表进一步拆分为列族
  4. 使用Hadoop 横向扩展大量数据
  5. 存储或检索时提供基于密钥的数据访问。 支持添加或更新行。
  6. 支持数据的多才多艺

缺点:

  1. HBase查询是用需要学习的自定义语言编写的
  2. HBase不完全符合ACID标准
  3. 它不能用于复杂的访问模式(例如连接)
  4. 在进行大批量MapReduce时,它也不是HDFS的完全替代品

摘要:

Hive可用于分析查询,而HBase可用于实时查询。 甚至可以从Hive到HBase读取和写入数据,然后再返回。

===============>>#7 票数:0

为了比较Hive和Hbase,我想回忆一下下面的定义:

旨在处理事务的数据库不是为处理分析而设计的。 它的结构不是很好地进行分析。 另一方面,数据仓库的结构使得分析变得快速而简单。

Hive是一个建立在Hadoop之上的数据仓库基础架构,适用于长时间运行的ETL作业。 Hbase是一个旨在处理实时事务的数据库

  ask by mrhahn translate from so

未解决问题?本站智能推荐: