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

Purpose of using HBase in Hadoop instead of Hive

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

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

谁能告诉我。

When I can able to performed all jobs using Hive, Then why HBase is required to store the data. Is it not an overhead?

不能说是不是开销。但是当涉及到 Hive 时,HBase 会实时响应其数据库请求,它在 MapReduce/Spark/Tez 引擎上运行作业。

What are the functionality of Hive and HBase?

蜂巢:

这是一种类似于 SQL 的语言,可以翻译成 MapReduce/Spark/Tez 个工作岗位。它只在 Hadoop 上运行批处理。 更多请查看此

HBase:

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

If we only used Hive, Then what should be the problem?

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

  1. When I can able to performed all jobs using Hive, Then why HBASE is required to store the data. Is it not a overhead?
  2. What are the functionality of Hive and Hbase

HBase 是No Sql 数据库,它将数据存储在键值对中。 HiveHbase.Hbase HIve Integration

集成

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

  1. If we only used Hive, Then what should be the problem?

如果我们会用Hive就没有问题了。但是在项目中需要考虑的场景非常多。

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