【问题标题】:What is the difference between hbase and hive? (Hadoop)hbase和hive有什么区别? (Hadoop)
【发布时间】:2015-03-05 02:37:35
【问题描述】:

据我了解,Hbase 是 Hadoop 数据库,Hive 是数据仓库。

Hive 允许创建表并在其中存储数据,您还可以将现有的 HBase 表映射到 Hive 并对其进行操作。

如果 hive 做所有这些,为什么我们应该使用 hbase?我们可以单独使用蜂巢吗? 我很困惑:(

【问题讨论】:

    标签: hadoop hive hbase bigdata nosql


    【解决方案1】:

    简单来说,使用 hive,您可以在表上触发类似 SQL 的查询(有一些例外),并用于批处理操作。使用 hbase 时,您可以进行实时查询,并且基于键值对。

    “为什么我们应该使用 hbase 如果 hive 做到了所有这些?我们可以单独使用 hive”因为 Hive 不支持更新您的数据集。因此,如果您有大型分析处理应用程序,请使用 Hive;如果您有实时获取/设置/更新请求处理,请使用 Hbase。

    【讨论】:

    • 所以从你所说的我可以理解,hive 有一个本地数据库,当我对其进行更新时,这不会影响作为 Hbase 的 NoSql 数据库,我同意这一点。但就我而言,我只需要使用 Hive,因为使用 HiveQL 比使用 Hbase 提供的 put/get/scan 操作要容易得多。而且我认为 Hbase 没有允许将我的 Eclipse 应用程序连接到的 jdbc 驱动程序创建数据库和表...
    • No既维护数据又维护风味,你不能直接使用hive更改hbase存储的数据。对于连接到 hbase,您可以看到 this Phoenix:HBase 上的 SQL 皮肤“我们将 SQL 放回 NoSQL” Phoenix 是 HBase 上的 SQL 皮肤,作为客户端嵌入式 JDBC 驱动程序交付,为 Salesforce 的 HBase 用例提供支持.com。 Phoenix 的目标是低延迟查询(毫秒),而不是通过 map/reduce 进行批量操作。要查看支持的内容,请访问我们的语言参考指南,在我们的 wiki 上阅读更多内容,然后下载。
    • 我可以使用“HBaseStorageHandler”通过创建外部表向 Hive 元存储注册 HBase 表吗?
    • 所以我可以在 hbase 中使用 hive 创建表 :) 谢谢你的帮助
    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多