2012年12月25日

摘要: http://blog.sina.com.cn/s/blog_502d765f0100kopn.html 阅读全文
posted @ 2012-12-25 16:51 brainworm 阅读(100) 评论(0) 推荐(0) 编辑

2012年12月24日

摘要: 如果想利用mapreduce并行计算的话,不能指望所有都是hadoop来跟你做,hadoop不可能跟你做很多事情。看下面一个问题:x1 / 1 + x2 / 2 + x3 / 3 + …… + xn / n = 1求出当n = 10时的所有正整数解。先确定我们要采用的办法,就是搜索穷举。搜出n个未知数的解。例如我们想用四个mapper来执行,就将输入文件划分为四个split就行了。例如,输入文件为: 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 910 10这10个值,为x1可能的10个值。也就是说,我们将搜索空间,划分为这10个,然后来用mapper来并行计算。但是,如 阅读全文
posted @ 2012-12-24 11:48 brainworm 阅读(509) 评论(0) 推荐(0) 编辑

2012年12月21日

摘要: 很多时候,我们的.h/.so/.a/bin文件都不在Linux发行版所指定的默认路径下,这时可以通过~/.bashrc来增加搜索路径。 1 #增加.so搜索路径 2 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/liheyuan/soft/lib 3 4 #增加.a搜索路径 5 LIBRARY_PATH=$LIBRARY_PATH:/home/liheyuan/soft/lib 6 7 #增加bin搜索路径 8 export PATH=$PATH:/home/liheyuan/soft/bin 9 10 #增加GCC的include文件搜索路径.. 阅读全文
posted @ 2012-12-21 18:01 brainworm 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 1 void sort(int a[],int l,int r){ 2 int i=l,j=r,x=a[(l+r)/2]; 3 while(i<=j){ 4 while(a[i]<x) i++; 5 while(x<a[j]) j--; 6 if(i<=j) swap(a[i++],a[j--]); 7 } 8 if(l<j) sort(a,l,j); 9 if(i<r) sort(a,i,r); 10 } 阅读全文
posted @ 2012-12-21 17:49 brainworm 阅读(285) 评论(0) 推荐(0) 编辑

2012年12月20日

摘要: 这两天一直在研究用hadoop进行并行计算的事情,既然要并行,就逃不过将大问题划分成小问题这一步。所以hadoop里的InputFormat是非常关键的。通常有把输入文件按单个文件一个split来划分 ,也有按记录的行来划分。下面我介绍按行划分的代码,这里所谓的按行划分,就是将输入行按每N行划分为一个split。 1 package seven.ili; 2 3 import org.apache.hadoop.classification.InterfaceAudience; 4 import org.apache.hadoop.conf.Configuration; 5 import o. 阅读全文
posted @ 2012-12-20 18:24 brainworm 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 1 package seven.ili; 2 3 import org.apache.hadoop.conf.Configuration; 4 import org.apache.hadoop.fs.BlockLocation; 5 import org.apache.hadoop.fs.FileStatus; 6 import org.apache.hadoop.fs.FileSystem; 7 import org.apache.hadoop.fs.Path; 8 import org.apache.hadoop.io.IntWritable; 9 import or... 阅读全文
posted @ 2012-12-20 10:36 brainworm 阅读(182) 评论(0) 推荐(0) 编辑

2012年12月17日

摘要: 《hadoop in action》中有一句话:“当reducer任务接收来自各个mapper的输出时,它按照键/值对中的键对输入数据进行排序,并将相同键的值归并。然后调用reduce()函数”,也就是说,下面这幅图,shuffer and sort是在各个reduce task上执行的,执行完后调用reduce()函数。其实这个图还不是很完整,最上端应该是InputFormat(InputSplit 和 RecordReader )这个负责将整个输入划分,分发给每一个mapper。InputSplit的数目,也就是《hadoop in action》中文书中所译的输入分片,分片的数目是等于m 阅读全文
posted @ 2012-12-17 11:13 brainworm 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 1 IDIR =../include 2 CC=gcc 3 CFLAGS=-I$(IDIR) 4 5 ODIR=obj 6 LDIR =../lib 7 8 LIBS=-lm 9 10 _DEPS = hellomake.h11 DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))12 13 _OBJ = hellomake.o hellofunc.o 14 OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))15 16 17 $(ODIR)/%.o: %.c $(DEPS)18 $(CC) -c -o $@ $< $(CFLAGS... 阅读全文
posted @ 2012-12-17 09:46 brainworm 阅读(145) 评论(0) 推荐(0) 编辑

2012年12月16日

摘要: http://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7 阅读全文
posted @ 2012-12-16 16:54 brainworm 阅读(103) 评论(0) 推荐(0) 编辑
摘要: GDB的使用方法jackyhwei 发布于 2010-01-28 13:09 点击:1932次来自:网络博客GDB调试启动.无论gdb何时中断了你的程序(因为一个断点或者是一个信号),gdb会自动选择信号或断点发生的线程作为当前线程;TAG: 调试GDBLinux 一、GDB的静态调试启动方法:1、当需要在命令行通过gdb来启动可执行程序的时候,可使用一下命令: gdb <可执行程序名> 这个时候gdb会加载可执行程序的符号表和堆栈,并为启动程序作好准备; 接下来,需要设置可执行程序的命令行参数: set args <参数列表> 然后设置断点: b或break; 最后通 阅读全文
posted @ 2012-12-16 14:34 brainworm 阅读(152) 评论(0) 推荐(0) 编辑

导航