在 Hadoop 中使用 HBase 而不是 Hive [重复]

Posted

技术标签:

【中文标题】在 Hadoop 中使用 HBase 而不是 Hive [重复]【英文标题】:Purpose of using HBase in Hadoop instead of Hive [duplicate] 【发布时间】:2016-12-29 11:09:58 【问题描述】:

在我的项目中,我们使用Hadoop 2SparkScalaScala 是编程语言,Spark 在这里用于分析。我们同时使用HiveHBase。我可以使用Hive 访问HDFS 的所有详细信息,例如文件等。 但我的困惑是 -

    当我可以使用Hive 执行所有作业时,为什么需要HBase 来存储数据。这不是开销吗? HIVEHBase的功能是什么? 如果我们只使用 Hive,那应该是什么问题?

谁能告诉我。

【问题讨论】:

【参考方案1】:
    当我能够使用Hive 执行所有作业时,为什么需要HBASE 来存储数据。这不是开销吗? HiveHbase的功能是什么

HBase 是 No Sql 数据库,将数据存储在键值对中。 Hive 已与 Hbase.Hbase HIve Integration 集成

优势:- Hive 查询超过 HBase。想想连接和一种对Hbase 数据进行聚合和简单操作的简单方法。 Hbase 为您提供可扩展的存储基础架构,可让数据保持在线。 StumbleUpon 将Hbase 用于他们的实时网站。 Hive 不是实时查询引擎,因此它的数据存储不能用于类似目的。 Hive 优于 HBase 为您带来两全其美的好处。

    如果我们只使用 Hive,那应该是什么问题?

如果我们使用Hive 没有问题。但是在项目中,我们必须考虑很多场景。

性能 存储 所用技术的稳定性 兼容性(Hadoop 中的大多数工具都可以轻松访问 Hive 仓库)

【讨论】:

【参考方案2】:

当我能够使用 Hive 执行所有工作时,为什么 HBase 是 需要存储数据。这不是开销吗?

我不能说它是否是开销。但 HBase 会实时响应请求,因为它的数据库在 Hive 上运行 MapReduce/Spark/Tez 引擎上的作业。

Hive 和 HBase 的功能是什么?

蜂巢:

这是一种类似 SQL 的语言,可以翻译成 MapReduce/Spark/Tez 作业。它只在 Hadoop 上运行批处理。 更多信息请查看how Hive queries run on MapReduce engine

HBase:

它是运行在 HDFS/S3(在 AWS 上)之上的键/值存储数据库。它对请求进行实时操作。

如果我们只使用 Hive,那应该是什么问题?

如前所述,如果查询需要实时处理,那么 HBase 是 Hive 的选择。

【讨论】:

以上是关于在 Hadoop 中使用 HBase 而不是 Hive [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如果我们使用Hadoop处理大数据,那么数据会存储在哪里因为hadoop数据库HBase存储结构化数据而大数据是非结构化数据

hive和hbase有啥关系和区别

为啥hive与mysql整合

hbase和hive的差别是啥,各自适用在啥场景中

HBase学习二

#IT明星不是梦#Hadoop整合Hbase案例详解