天天看点

Yahoo 开源 Java 超快速计算算法 Data Sketches

yahoo 今天开源了数据快速高效计算算法,基于 java 的 data sketches 算法。 data sketches 遵循 apache 开源授权协议提供在 github:github.com/datasketches/sketches-core/。

Yahoo 开源 Java 超快速计算算法 Data Sketches

这类型的技术在研究者的学术论文中出现的越来越多,总是使用不同的名字,但都会分享一些关键的技术点。首先就是可以处理流数据,因为这些数据他们只接触一次。他们是可附加的,你可以添加或者合并这些计算。更有趣的是,他们都是近似的。

雅虎方面发表声明说,这整个科学计算是基于很基础的功能,只要你能忍受结果有一点点偏差,那么完全可以大幅度提升计算的速度。

想象如果你想计算一些东西,比如一天中既访问雅虎财经又访问雅虎体育的人数。如果你尝试计算到底有多少人访问,是可以得到答案的 —— 只要你有充足的硬盘空间,内存和时间。这是非常困难的,yahoo 很自然的就想优化这类型的计算。

除了高速计数之外,data sketches 做某些类型的计算会比精确计算快很多。1亿数值计算一般情况花费 2.5 分钟,而使用 data sketches 只需要 2.7 秒。

data sketches 已经在 yahoo 的大量产品中使用,yahoo 自身的 flurry 使用它来计算实时计数,雅虎邮件服务和搜索引擎也在使用。

data sketches 集成了 hive 和 pig,还有 druid 开源数据存储,在 maven 构建管理工具中也很容易使用。

====================================分割线================================