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

简介:

Yahoo 今天开源了数据快速高效计算算法,基于 Java 的 Data Sketches 算法。 Data Sketches 遵循 Apache 开源授权协议提供在 GitHub:github.com/datasketches/sketches-core/。

screenshot

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

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

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

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

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

Data Sketches 集成了 Hive 和 Pig,还有 Druid 开源数据存储,在 Maven 构建管理工具中也很容易使用。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

目录
相关文章
|
24天前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
1月前
|
存储 Java
Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断
Java中相加两个数字可通过简单赋值实现,如`int sum = x + y;`。若要用户输入数字相加,可使用`Scanner`类读取。计算单词数,可使用`split()`方法或`StringTokenizer`类。反转字符串,可用`for`循环或`StringBuilder`的`reverse()`方法。计算数组元素总和,可遍历数组累加。矩形面积通过长度乘以宽度得出。判断奇偶性,利用模2运算或位运算检查最低位。更多内容,可关注微信公众号`Let us Coding`。
49 0
|
23天前
|
存储 算法 Java
Java数据结构与算法-java数据结构与算法(二)
Java数据结构与算法-java数据结构与算法
66 1
|
11天前
|
算法 安全 Java
java代码 实现AES_CMAC 算法测试
该代码实现了一个AES-CMAC算法的简单测试,使用Bouncy Castle作为安全提供者。静态变量K定义了固定密钥。`Aes_Cmac`函数接受密钥和消息,返回AES-CMAC生成的MAC值。在`main`方法中,程序对给定的消息进行AES-CMAC加密,然后模拟接收ECU的加密结果并进行比较。如果两者匹配,输出"验证成功",否则输出"验证失败"。辅助方法包括将字节转为16进制字符串和将16进制字符串转为字节。
|
17天前
|
搜索推荐 Java
Java排序算法
Java排序算法
18 0
|
17天前
|
搜索推荐 Java
Java基础(快速排序算法)
Java基础(快速排序算法)
23 4
|
20天前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
32 0
|
23天前
|
XML 存储 算法
Java数据结构与算法-java数据结构与算法(五)
Java数据结构与算法-java数据结构与算法
47 0
|
1月前
|
算法 搜索推荐 Java
利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)
利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)
13 1
|
1月前
|
Rust Dart 算法
55.3k star!开源算法教程,附带动画图解,学习算法不再苦恼!
55.3k star!开源算法教程,附带动画图解,学习算法不再苦恼!