0

实际上,我正在使用一个大数据环境,我在其中使用 Apache Nifi 摄取和处理数据。结果保存在 HBase 表中,我想使用 Hive 访问存储的数据。现在我想设置一个 REST 服务来读取 HBase 表。例子

获取http://localhost:50111/userid/42 --> http-response { "userid": 42, "name": "foobar" }

我认为这是现有解决方案的标准问题,但事实并非如此。问题是,我无法将结果作为 http-response 发送。

首先,我尝试使用 Nifi 并且 Web 服务正在运行,但仅限于静态内容,例如“200 OK”或“404 Not found”。所以我在没有Nifi的情况下尝试它。我读到,每个人都在说,WebHCat 是要使用的工具,因为它是 Hive 的 REST API 工具。伟大的!但是......同样的问题:我可以在 HBase 上使用 WebHCat 和 Hive 通过 REST 服务执行查询,但是没有选项可以检索结果。

以我目前的知识,没有现成的解决方案,我必须开发自己的 REST 服务。正确的?真的?!

我是否必须开发自己的 REST 服务,或者在这种情况下最佳实践是什么?尼菲?蜂巢服务器2?此外,我想使用 Knox 和 Ranger 保护 REST 服务。

我希望有人可以帮助我并向我展示正确的(!)方法,因为如果有更好或最佳实践解决方案,我不想制作新的和特别的东西。

谢谢~n3

4

1 回答 1

1

@n-3 - 你有很多选择。

查看http://hortonworks.com/blog/hbase-via-hive-part-1/了解与 hive 的基本 hbase 交互。对于这种用例http://phoenix.apache.org/ ,您也可能会更好地查看 Phoenix 。

如果您确实采用了 WebHCat 和/或 HiveServer2 的方向,您已经可以通过 Apache Knox 使用 Apache Ranger 提供的访问控制来处理对这两者的访问。

此外,Apache HBase 有自己的 REST 服务器,您也可以通过 Apache Knox 访问它并使用 Apache Ranger 进行保护。http://hbase.apache.org/book.html#_rest

希望这能提供一些帮助。

于 2016-06-27T16:34:36.010 回答