在 Hadoop 中使用 HBase 而不是 Hive [重复]
Posted
技术标签:
【中文标题】在 Hadoop 中使用 HBase 而不是 Hive [重复]【英文标题】:Purpose of using HBase in Hadoop instead of Hive [duplicate] 【发布时间】:2016-12-29 11:09:58 【问题描述】:在我的项目中,我们使用Hadoop 2
、Spark
、Scala
。 Scala
是编程语言,Spark
在这里用于分析。我们同时使用Hive
和HBase
。我可以使用Hive
访问HDFS
的所有详细信息,例如文件等。
但我的困惑是 -
-
当我可以使用
Hive
执行所有作业时,为什么需要HBase
来存储数据。这不是开销吗?
HIVE
和HBase
的功能是什么?
如果我们只使用 Hive,那应该是什么问题?
谁能告诉我。
【问题讨论】:
【参考方案1】:当我能够使用
Hive
执行所有作业时,为什么需要HBASE
来存储数据。这不是开销吗?Hive
和Hbase
的功能是什么
HBase
是 No Sql 数据库,将数据存储在键值对中。 Hive
已与 Hbase
.Hbase HIve Integration 集成
优势:- Hive
查询超过 HBase
。想想连接和一种对Hbase
数据进行聚合和简单操作的简单方法。
Hbase
为您提供可扩展的存储基础架构,可让数据保持在线。 StumbleUpon 将Hbase
用于他们的实时网站。 Hive
不是实时查询引擎,因此它的数据存储不能用于类似目的。 Hive
优于 HBase
为您带来两全其美的好处。
如果我们只使用 Hive,那应该是什么问题?
如果我们使用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存储结构化数据而大数据是非结构化数据