hadoop in action 学习疑点
来源:互联网 发布:天池大数据竞赛 2016 编辑:程序博客网 时间:2024/06/05 10:37
一、在5.3 Creating a Bloom fi lter这一节中,有一个distribute的例子,其中一段代码如下:
protected int[] getHashIndexes(E obj) {
int[] indexes = new int[numHashFunc];
long seed = 0;
byte[] digest;
try {
MessageDigest md = MessageDigest.getInstance(“MD5”);
md.update(obj.toString().getBytes());
digest = md.digest();
for (int i = 0; i < 6; i++) {
seed = seed | (((long)digest[i] & 0xFF))<<(8*i);
}
} catch (NoSuchAlgorithmException e) {}
Random gen = new Random(seed);
for (int i = 0; i < numHashFunc; i++) {
indexes[i] = gen.nextInt(bitArraySize);
}
return indexes;
}
我一直不解为何要用Random,那样生成的indexes不是每次都不一样么,后来才知道:
来自(http://lehsyh.iteye.com/blog/646658/)
Random random = new Random();//默认构造方法
Random random = new Random(1000);//指定种子数字
在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。
相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
实验了一下,的确是这样
- hadoop in action 学习疑点
- 学习疑点
- Hadoop In Action
- 读Hadoop in action
- Hadoop In action 笔记
- Hadoop in Action Note
- Hadoop in Action简单笔记
- John's Hadoop in Action
- python学习疑点总结
- 计算机网络疑点学习
- Spring in action学习
- activemq-in-action学习
- Hadoop In Action笔记(逐渐更新)
- 一些练习来自hadoop in action
- hadoop in action 读书笔记-第123章
- Hadoop in action 第45678章
- Hadoop in Action]第1章 Hadoop简介
- [hadoop in Action] 第3章 Hadoop组件
- 三个故事
- PHP读取Excel 之 Spreadsheet_Excel_Reader和Writer
- Hadoop分布式文件系统:架构和设计
- 口令文件 getpwent()
- java进制转换
- hadoop in action 学习疑点
- android.view.InflateException 异常处理
- JSON字符串与Java对象之间的转换
- hadoop文件系统分析
- 代码 实现UIDatePicker控件 和 Tab Bar 视图切换
- [没事乱分析] Freescal mma8452 probe函数乱分析
- JAVA实用日期时间操作类
- python学习之基础篇
- android listview item 加载不同的布局样式文件