5

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

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

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

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

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

4

1 回答 1

5

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

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

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

于 2013-07-09T08:29:57.240 回答