0

我有以下设置

2 节点 hadoop/hbase 集群,thirft 服务器在 hbase 上运行。

Hbase 有一个包含 1000 万行的表。

我需要在 hbase 表上运行 sum() 之类的聚合查询以在网络上显示它(图表目的)。

现在我正在使用 python(thrift client) 来获取数据集并显示。

我正在寻找要在网络中使用的数据库(hbase)级聚合函数。

有什么想法吗?

4

3 回答 3

0

这通常是一个 map reduce 作业。您可能希望考虑使用 Hive 为您提供一种类似 SQL 的方式来编写查询。https://cwiki.apache.org/Hive/hbaseintegration.html

于 2012-09-25T18:33:43.113 回答
0

可以参考凤凰。网址: https ://github.com/forcedotcom/phoenix/ http://forcedotcom.github.io/phoenix/

于 2013-06-23T10:54:43.180 回答
0

对于 Hbase 表比 Hive 的低延迟结果,Phoenix 是一个很好的解决方案。它比 Hbase 扫描器更适合范围扫描,因为它们使用二级索引和 SkipScan。与您的情况一样,您使用 Python 和 phoenix API 只有 JDBC 连接器。

其他尝试 Hbase 协处理器。执行 SUM、MAX、COUNT、AVG 函数。您可以在创建表时启用协处理器,并且可以使用协处理器功能

你可以试试 Impala,它提供了 ODBC 连接器、JDBC 连接器。Impala 使用 hive 元表来执行大规模并行批处理。您需要为您的 Hbase 表创建一个 Hive 元表。

于 2014-02-01T18:50:14.230 回答