【问题标题】:What to use.. Impala on HDFS, or Impala on Hbase or just the Hbase?使用什么.. HDFS 上的 Impala,Hbase 上的 Impala 还是 Hbase?
【发布时间】:2013-07-09 06:15:30
【问题描述】:

我正在处理概念验证任务。 任务是使用 Hadoop 技术实现我们产品的一项功能。

功能非常简单,我们有一个用户界面,可让您插入有关“网络问题”的详细信息。 捕获有关此类问题的所有详细信息并将其插入到 Oracle DB 中的表中。 然后我们处理此表中的数据并计算健康评分。

我必须使用 Hadoop 而不是传统的 Db 所以我的问题是要做什么? HDFS上的黑斑羚?或者 Hbase 上的黑斑羚?或者 Hbase?

我正在使用 cloudera VM 来实现 POC。

根据我的理解,Hbase 是 NoSQL 分布式数据库,实际上是 HDFS 上的一层,提供 java API 来访问数据。 Impala 是一个工具,它还提供 JDBC 访问以通过 Hbase 或直接通过 HDFS 访问数据。 我对hadoop很陌生,有人可以帮忙吗?

【问题讨论】:

  • 您能说明您的一些要求吗?例如,您的一些查询。 HBase 旨在通过键快速访问 。 Impala 旨在在几秒钟内运行 SQL 语句。它们是不同的东西,可以一起使用。
  • 嗯,我现在还没有确切的查询。但正如我所说,要求我们创建一个包含大约 10-15 列的表。此表中的每一行代表一个网络问题。然后,我们经常在该表上运行选择查询,并使用该表的一列的值并将其输入到将计算健康评分的算法中。网络问题的插入也可以随机且频繁地发生..

标签: hadoop hbase hdfs impala


【解决方案1】:

嗯,这取决于几件事,例如您要执行的处理类型、所需的响应时间等。但是通过查看您在此处编写的任何内容,HBase 似乎没问题。到目前为止,我发现不需要 Impala。 HBase API 很好,可以满足您的大部分需求。

恕我直言,最好一开始就保持简单,仅在确实需要时才添加工具。在这里同样适用。如果您发现 HBase API 无法达到目的,您绝对可以将 Impala 添加到您的堆栈中。

话虽如此,您应该记住一件事。 HBase 是一个 NoSQL DB,不遵循 RDBMS 约定和术语。所以,一开始你可能会觉得有点奇怪。最好记住这一点,然后继续,因为您必须以一种与 RDBMS 模式设计风格完全不同的方式来设计模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多