1.reduce和map类似,每个task内部可以共享静态类属性,每个task可能会多次调用reduce()函数,但每个key只对应某节点上的某个task的reduce()函数的一次执行
2.多个tasks之间不能共享静态类属性,即使在同一台机器上,因为是以进程方式运行
3.一个key不可能被两个tasks拆分执行,不管是否在相同的节点上。
4. Hadoop Map/Reduce框架为每一个InputSplit产生一个map任务,而每个InputSplit是由该作业的InputFormat产生的。
5. Map的数目通常是由输入数据的大小决定的,一般就是所有输入文件的总块(block)数。如果你输入10TB的数据,每个块(block)的大小是 128MB,你将需要大约82,000个map来完成任务,除非使用 setNumMapTasks(int)(注意:这里仅仅是对框架进行了一个提示(hint),实际决定因素见4)将这个数值设置得更高。
阅读全文…
今天看论文的时候看到这样一个名词:anytime algorithm,在wiki上查了一下,做一个简单的介绍。
大多数的算法在输入确定时,需要一个确定的时间进行一系列确定数量的计算操作,然后才返回一个确定的答案。但是有的时候,用户希望能够提前结束算法,例如重新分配计算资源等。这种情况下大多数算法不能提前结束,否则得不到什么有用的信息。
而anytime algorithm, 有时候也叫做interruptible algorithm, 从其名字上就可以知道,是可以随时打断的,打断之后算法返回一个最终解的近似解,该近似解的好坏依赖于已经完成的计算量。anytime algorithm 通常还要能保存最后一次得到的解,以便在得到更多的计算时间时,可以在当前解的基础上继续计算更精确地解。
阅读全文…
昨晚给实验室新配的cloud节点装完CentOS系统后发现都没有网卡驱动,今晚在网上搜了一些资料才算搞定,整理了一下整个安装过程。
通过命令 dmesg | grep eth 确定了没有网卡驱动。
在主板说明书上查到网卡的型号是realtek RTL8111C。如果没有说明书的话,可以通过命令kudzu –probe –class=network 查看。
上realtek的官网下载驱动程序。在装网卡驱动之前,得先确保已经装有kernel-xen-devel,kernel-devel,以及GCC,可以使用命令 rpm -q ***来查询是否已经安装,例如:rpm -q gcc。如果没有安装的话,通过CentOS的安装盘进行安装。
挂载安装盘
# mount -t iso9660 -o ro /dev/cdrom /mnt
阅读全文…
今天看到一段这样的代码:
1
2
3
4
| template
inline void _construct(T1 *p, const T2& value){
new(p) T1(value);
} |
然后发现自己好圡,竟然是头一次看到new函数这样的用法,网上查了一下才知道原来这叫 placement new,简单来说就是在p所指的内存处构造对象,不再申请内存。
在网上找到一篇对placement new 说的比较清楚的文章,没找到原作者是谁,所以就不给链接了,直接转载如下:
阅读全文…
今天在《Programming Pearls》上看到这样的问题,有一个非降序数组d[],包含1000个数,可能有重复的数,求数K在数组中最靠前的下标。如果找不到的话,结果为-1。
这种类型的二分之前已经写过不下数十次了,于是我信手敲下如下代码:
[code=cpp]
l = 0; r = 999;
ans = -1;
while(l <= r)
{
mid = (l+r)/2;
if(d[mid] >= k)
{
ans = mid;
r = mid-1;
}
else
l = mid+1;
}
[/code]
上面这段代码是我写了很多次的二分之后总结出来的,因为二分的很多其他写法在不同的条件下稍不注意就会出现错误。这里说的不同的条件包括:求满足条件的最小的值; 求满足条件最大的值等等。
而上面的代码可以通用我到目前为止遇到的所有情况(仅仅是改变一下ans = mid; 的位置即可),所以一直这么写二分。
但是看了书上给的代码,觉得不但也能适合所有情况,而且很好验证其正确性:
阅读全文…
1.下载grub_for_dos,解压以后把grldr这个文件拷到c盘根目录下面,打开boot.ini,在最后加一行:c:grldr=”grub”(引号里的内容可以随便写),保存后重启。
2.重启后会出现选择菜单,选择grub,它会自动寻找menu.lst,一般这样就可以进入grub菜单,启动 linux。若Linux启动成功,跳到第4步。
3.(这一步我没经历过,所以原文照写如下) 若上一步没有成功启动Linux,则会进入命令行,输入:root (hd0,*)(你的 linux所在的区),回车,输入:configfile /boot/grub/grub.conf,如果你的/boot是单独分区的,输入:configflie /grub/grub.conf,回车即可进入grub启动选择菜单。
阅读全文…
Linux一句话精彩问答
作者:陈绪/魏琼
来自:linux宝库 (http://www.linuxmine.com)
联系:linuxmine@gmail.com
编者按:鉴于目前中国Linux的发展现状,90%以上的问题都可以用一句话来回答,这便是
本文的初衷。欢迎大家添加自己的“一句话”,收录后注明原始提供者。更详细的文档,
请浏览http://linux.chinaunix.net 或http://www.linuxmine.com
修订说明:本FAQ是在原“linux一句话精彩问答”4/28/2006版的基础上针对本版实际情
况作了小部分修改,使之更适合于本站网友。各位如果发现有误之处,请来信告知,以便
及时更正;另外如果有值得添加新内容,也欢迎来信告知。谢谢!(By JJCH)
阅读全文…