stream-lib

一个 Java 库,用于汇总无法存储所有事件的流中的数据。

更具体地说,有用于估计的类:基数(即计算事物); 设置会员资格; 前 k 个元素和频率。 一个特别有用的功能是可以安全地合并具有兼容配置的基数估计器。

这些类可以直接在 JVM 项目中使用,也可以与提供的 shell 脚本和旧的 Unix IO 重定向一起使用。

这里的想法对我们来说不是原创的。

我们努力通过迭代现有的学术文献来创建有用的实现。

因此,这个库在很大程度上依赖于其他人的工作。

请阅读来源和参考部分。

例子

$ echo -e "foo\nfoo\nbar" | ./bin/topk
item count error
---- ----- -----
 foo     2     0
 bar     1     0

Item count: 3


$ echo -e "foo\nfoo\nbar" | ./bin/cardinality
Item Count Cardinality Estimate
---------- --------------------
         3                    2

maven 引入

<dependency>
  <groupId>com.clearspring.analytics</groupId>
  <artifactId>stream</artifactId>
  <version>2.9.5</version>
</dependency>

参考资料

https://github.com/addthis/stream-lib