【发布时间】:2011-01-06 17:31:08
【问题描述】:
最近,我看到一个博客,作者提到了集成 Hbase 和 Hive。这是否可能,如果可以,使用两者有什么优势(在性能和可扩展性方面)。如果我错了,请纠正我。
【问题讨论】:
最近,我看到一个博客,作者提到了集成 Hbase 和 Hive。这是否可能,如果可以,使用两者有什么优势(在性能和可扩展性方面)。如果我错了,请纠正我。
【问题讨论】:
我认为设置一下是可能的,但不是微不足道的——也许 CDH3 final 会在它出现时包括集成。
优点:Hive 查询优于 hbase。想想连接和对 HBase 数据进行聚合和简单操作的简单方法。
为什么不只使用 Hive 而不用 HBase? HBase 为您提供了一个可扩展的存储基础架构,可让数据保持在线状态。 StumbleUpon 将 HBase 用于他们的实时网站。 Hive 不是实时查询引擎,因此它的数据存储不能用于类似目的。 Hive over HBase 为您带来两全其美的好处。
【讨论】:
目前有一个补丁可以在 HBase 和 Hive 之间加载数据。你可以在这里找到它:
http://wiki.apache.org/hadoop/Hive/HBaseIntegration
实现开销看起来相当高。
在 HBase 表上运行扫描并保存到外部文件然后将其导入 Hive 进行数据操作可能更容易。 (这也很麻烦,但如果您定期执行此操作,则可以编写脚本。)这是目前我正在研究的解决方案。我会告诉你进展如何。
至于为什么您会选择 HBase 而不是 Hive,它们并不是真正可以互换的。 HBase 是一种建立在 Hadoop 之上的高度可扩展的数据存储,几乎不支持数据分析。另一方面,Hive 不用于在生产环境中存储数据,而是使对大量数据运行特定查询变得非常容易。
【讨论】: