在我的项目中,我们使用Hadoop 2
,Spark
,Scala
。 Scala
是编程语言,Spark
在此处用于分析。我们正在使用Hive
和HBase
。我可以使用HDFS
访问Hive
的文件等所有详细信息。
但我的困惑是 -
Hive
执行所有作业时,为什么需要HBase
来存储数据。这不是开销吗? HIVE
和HBase
有哪些功能? 任何人都可以让我知道。
答案 0 :(得分:5)
当我能够使用Hive执行所有作业时,那么为什么HBase是 需要存储数据。这不是开销吗?
我无法说出它的开销与否。但是当Hive在MapReduce / Spark / Tez引擎上运行作业时,HBase会实时响应请求作为数据库。
Hive和HBase有哪些功能?
Hive:
它是一种类似SQL的语言,可以转换为MapReduce / Spark / Tez作业。它只在Hadoop上运行批处理。 了解更多信息,请查看how Hive queries run on MapReduce engine
<强> HBase的:强>
它的键/值存储数据库,运行在HDFS / S3之上(在AWS上)。它为请求进行实时操作。
如果我们只使用Hive,那么应该是什么问题?
如上所述,如果查询需要实时处理,那么HBase就是Hive的选择。
答案 1 :(得分:5)
- 当我能够使用
Hive
执行所有作业时,为什么需要HBASE
来存储数据。这不是开销吗?- 的功能有哪些 醇>
Hive
和Hbase
HBase
是No Sql数据库,它将数据存储在键值对中。 Hive
已与Hbase
。Hbase HIve Integration
优势: - Hive
查询HBase
。思考联接和一种简单的方法来对Hbase
数据进行聚合和简单操作。
Hbase
为您提供可扩展的存储基础架构,使数据保持在线状态。 StumbleUpon使用Hbase
作为其实时网站。 Hive
不是实时查询引擎,因此其数据存储不能用于类似目的。 Hive
HBase
超过Hive
为您提供了两个世界的好处。
- 如果我们只使用Hive,那么问题应该是什么?
醇>
如果我们使用let numberOfColumns = 5
没有问题。但是在项目中我们必须考虑很多场景。