Accumulo支持聚合吗?

时间:2013-09-27 10:33:29

标签: accumulo

我是Accumulo的新手。我知道我可以使用Hadoop和MapReduce编写Java代码来扫描,插入,更新和删除数据。我想知道的是在Accumulo中是否可以聚合。

我知道在MySql中我们可以使用groupbyorderbymaxmincountsum,{{1 s,嵌套查询等。他们是否有可能直接或间接地在Accumulo中使用这些函数。

4 个答案:

答案 0 :(得分:4)

Accumulo通过使用组合器迭代器(Accumulo Combiner Example)来支持聚合。

迭代器主要运行服务器端,但可以在客户端运行,并且可以在将数据发送回客户端之前执行相当多的计算。

Accumulo包含许多迭代器,更具体地说,summingCombiner用于对条目的值求和。戴夫梅迪内的博客有一些很好的例子(Accumulo Blog)。更具体地说,使用summingCombiner实现wordcount(Word Count in Accumulo)。我还建议您注册Accumulo用户邮件列表(mailing lists)。

答案 1 :(得分:0)

Some aggregation is supported in Accumulo,在每个平板电脑中有多个条目,甚至多行。平板电脑之间的聚合需要在客户端或MapReduce作业中完成。

答案 2 :(得分:0)

我喜欢认为Accumulo具有强大的功能。我在其上运行OLAP解决方案,在40个节点上有数亿个密钥。除了基本的SummingCombiner之外,我还推荐更新的statscombiner

http://accumulo.apache.org/1.4/apidocs/org/apache/accumulo/examples/simple/combiner/StatsCombiner.html

为您提供有关一组键的基本统计信息。

您可以在maj压缩,轻微压缩或扫描时间设置合并器。如果你有大量带有大量滴流键的数据,我不建议扫描时间组合,因为它可以减慢扫描时间(并非总是如此)。

HTH

答案 3 :(得分:0)

是的,可以在Accumulo中进行汇总。您可以通过-

1)使用内置的合并器,当您提取数据时会汇总数据。

2)制作自定义的聚合迭代器,然后以较小或不可压缩的方式部署它。