我是第一次接触Accumulo。我知道我可以使用Hadoop和MapReduce编写Java代码来扫描、插入、更新和删除数据。我想知道的是,在Accumulo中是否可以进行聚合。
我知道在MySql中我们可以使用groupby,orderby,max,min,count,sum,joins,嵌套查询等。
发布于 2014-01-25 00:04:32
Accumulo通过使用组合器迭代器(Accumulo Combiner Example )来支持聚合。
迭代器主要在服务器端运行,但也可以在客户端运行,并且可以在将数据发送回客户端之前执行相当多的计算。
summingCombiner附带了许多迭代器,更具体地说,它用于对条目的值求和。Dave Medinet的博客有一些很好的例子(Accumulo Blog)。更具体地说,使用summingCombiner实现字数计数(Word Count in Accumulo)。我还建议注册Accumulo用户邮件列表(mailing lists)。
发布于 2013-09-28 14:37:29
Some aggregation is supported in Accumulo,包含多个条目,甚至是每个平板电脑中的多行。跨平板电脑的聚合需要在客户端或在MapReduce作业中完成。
发布于 2014-01-27 10:11:08
我喜欢认为Accumulo有很好的agg功能。我在它上面运行了一个OLAP解决方案,在40个节点上有数亿个键。除了基本的SummingCombiner之外,我还推荐使用较新的统计信息组合器
http://accumulo.apache.org/1.4/apidocs/org/apache/accumulo/examples/simple/combiner/StatsCombiner.html
它给出了一组钥匙的基本数据。
您可以在主要压缩、次要压缩或扫描时设置组合器。如果你有大量的数据和大量的关键字,我不推荐扫描时间组合,因为它会减慢扫描时间(并不总是)。
HTH
https://stackoverflow.com/questions/19048613
复制相似问题