【问题标题】:Hadoop Hbase queryHadoop Hbase 查询
【发布时间】:2012-09-25 14:35:57
【问题描述】:

我有以下设置

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

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

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

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

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

有什么想法吗?

【问题讨论】:

    标签: java python hadoop hbase thrift


    【解决方案1】:

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

    【讨论】:

    • 我正在寻找要在网页中显示的实时查询。
    • HBase 仅支持实时键检索行,因此您最好预先计算总和或您拥有的内容并将这些结果存储在 HBase 中。
    【解决方案2】:

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-14
        • 2011-07-13
        • 2015-01-15
        • 1970-01-01
        相关资源
        最近更新 更多