在Hadoop中使用HBase而不是Hive的目的

时间:2016-12-29 11:09:58

标签: hadoop hive hbase hdfs

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

  1. 当我能够使用Hive执行所有作业时,为什么需要HBase来存储数据。这不是开销吗?
  2. HIVEHBase有哪些功能?
  3. 如果我们只使用Hive,那么问题应该是什么?
  4. 任何人都可以让我知道。

2 个答案:

答案 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)

  
      
  1. 当我能够使用Hive执行所有作业时,为什么需要HBASE来存储数据。这不是开销吗?
  2.   
  3. HiveHbase
  4. 的功能有哪些   

HBase是No Sql数据库,它将数据存储在键值对中。 Hive已与HbaseHbase HIve Integration

集成

优势: - Hive查询HBase。思考联接和一种简单的方法来对Hbase数据进行聚合和简单操作。 Hbase为您提供可扩展的存储基础架构,使数据保持在线状态。 StumbleUpon使用Hbase作为其实时网站。 Hive不是实时查询引擎,因此其数据存储不能用于类似目的。 Hive HBase超过Hive为您提供了两个世界的好处。

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

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

  • 效果
  • <强>存储
  • 使用过的技术的稳定性
  • 兼容性(Hadoop中的大多数工具都可以轻松访问Hive仓库)