12 2012 档案

linux进程空间布局
摘要:一篇讲得很好的文章:http://www.16kan.com/post/229816.html 阅读全文

posted @ 2012-12-31 12:57 brainworm 阅读(137) 评论(0) 推荐(0)

很多很好的mapreduce Job的代码例子
摘要:访问原网站:http://www.cs.bgu.ac.il/~dsp112/Data_Processing,Chain,JoinData ProcessingExamplesBased onHadoop in Action, Chuck Lam, 2010, sections 4.1-4.3Data:NBERdata sets of patentsTasksCitation list for each patent62 lines ...importjava.io.IOException;importorg.apache.hadoop.conf.Configuration;importorg. 阅读全文

posted @ 2012-12-26 18:38 brainworm 阅读(381) 评论(0) 推荐(0)

在windows环境下,向Hadoop集群提交Job
摘要:学hadoop有些时日了,一直都是把写好的Job push到cluster中的一个Node上,然后再来hadoop jar XXX.jar YYY arg1 arg2一直都用这个命令来提交Job。如果我们要开发hadoop的相关APP怎么办?那应该要远程向JobTracker提交Job才对呀。既然本地的Java代码是可以读写远程HDFS的,那应该也能远程提交代码。有什么方法呢?在经过一番google之后,似乎找到了一些方法:整个过程如上图所示。准备工作:确保你的hadoop不是localhost,也就是说你的core-site.xml 等等那些文件填写的是你的真实IP,你可以从另外一台机器上访 阅读全文

posted @ 2012-12-26 13:52 brainworm 阅读(743) 评论(0) 推荐(0)

关于SIGPIPE信号
摘要:http://blog.sina.com.cn/s/blog_502d765f0100kopn.html 阅读全文

posted @ 2012-12-25 16:51 brainworm 阅读(109) 评论(0) 推荐(0)

利用hadoop mapreduce进行 并行计算
摘要:如果想利用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 阅读(523) 评论(0) 推荐(0)

Linux下include/lib/bin等搜索路径的配置
摘要:很多时候,我们的.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 阅读(595) 评论(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 阅读(298) 评论(0) 推荐(0)

hadoop 按行划分
摘要:这两天一直在研究用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 阅读(456) 评论(0) 推荐(0)

InputFormat 按文件来划分
摘要: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 阅读(197) 评论(0) 推荐(0)

hadoop的执行过程
摘要:《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 阅读(670) 评论(0) 推荐(0)

how to write a simple makefile
摘要: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 阅读(156) 评论(0) 推荐(0)

ubuntu下装java
摘要:http://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7 阅读全文

posted @ 2012-12-16 16:54 brainworm 阅读(113) 评论(0) 推荐(0)

GDB的使用方法
摘要: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 阅读(167) 评论(0) 推荐(0)

向大家推荐一个C/C++通用Makefile
摘要:http://lpn520.iteye.com/blog/774919 阅读全文

posted @ 2012-12-16 12:35 brainworm 阅读(124) 评论(0) 推荐(0)

Data Structure for phone book
摘要:http://stackoverflow.com/questions/9107438/data-structure-for-phone-book无意中搜到的,先mark在这 阅读全文

posted @ 2012-12-15 22:37 brainworm 阅读(133) 评论(0) 推荐(0)

关于git的一些有用的链接
摘要:http://www.infoq.com/cn/news/2011/01/git-adventures-install-config 阅读全文

posted @ 2012-12-15 16:14 brainworm 阅读(134) 评论(0) 推荐(0)

volatile 和 sig_atomic_t
摘要:volatile 和 sig_atomic_thttp://blog.chinaunix.net/u1/41113/showart_494044.html1).volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,每次使用时都需要去内存里重新读取它的值,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如:volatile int i=10;int j = i;...int k = i;volatile 告诉编译器i是随 阅读全文

posted @ 2012-12-14 16:58 brainworm 阅读(199) 评论(0) 推荐(0)

关于gcc/g++的include路径和其他一些路径问题
摘要:http://blog.163.com/davy.sui@126/blog/static/139559377201022444238864/ 阅读全文

posted @ 2012-12-14 15:56 brainworm 阅读(204) 评论(0) 推荐(0)

[转]Linux环境变量的设置和查看方法
摘要:1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org PVM_RSH=/usr/bin/rsh Shell=/bin/bash TERM=xterm HISTSIZE=1000 ... 4. 使用set命令显示所有本地定义的Shell变量 $ set BASH=/bin/bash BASH_VERS... 阅读全文

posted @ 2012-12-14 14:48 brainworm 阅读(156) 评论(0) 推荐(0)

Cloudera是个什么东西
摘要:一直没搞清cloudera和hadoop到底是个什么关系,于是百度了一下。看了一些资料,下面简单说明一下。有人说cloudera和hadoop的关系就如,ubuntu和linux的关系。而cloudera也正是想成为hadoop的发行版的提供者,实际应用的主导者。众所周知,hadoop需要在集群上配置、安装,在使用过程中还需要我们的管理。Hadoop安装、部署、管理的难度非常大,这使用很多用户对Hadoop望而却步,好在这种情况不久就得到了改善,Cloudera提供了非常简单的Hadoop的发布版本,能够十分方便地对Hadoop进行安装、部署和管理,这导致目前大约有75%的Hadoop新用户使 阅读全文

posted @ 2012-12-14 14:28 brainworm 阅读(559) 评论(0) 推荐(0)

分布式文件系统虚拟目录及命名空间的实现方法
摘要:分布式文件系统虚拟目录及命名空间的实现方法http://www.doc88.com/p-717876372220.html可以读一下,讲得还算清楚 阅读全文

posted @ 2012-12-12 11:52 brainworm 阅读(194) 评论(0) 推荐(0)

关于vim的一些记录
摘要:vim 配置http://www.162cm.com/archives/906.htmlvim 编码问题http://blog.csdn.net/topgun38/article/details/8016227用vim 转码http://www.cnblogs.com/joeblackzqq/archive/2011/04/11/2012008.htmlvim的自动补全http://www.vim.org/scripts/script.php?script_id=2358http://www.cnblogs.com/xuqiang/archive/2011/04/15/2016475.html 阅读全文

posted @ 2012-12-12 10:23 brainworm 阅读(835) 评论(0) 推荐(0)

得到mapper task所处理的文件的文件名
摘要:有时候,当我们在使用hadoop处理数据时,我们想知道mapper所处理的这个file chunk(文件块)在hdfs中的文件名是什么。将下面的代码加入你的mapper中,可以得到当前mapper所处理输入文件的文件名:1 FileSplit fileSplit = (FileSplit)context.getInputSplit();2 String filename = fileSplit.getPath().getName();3 System.out.println("File name "+filename);4 System.out.println(" 阅读全文

posted @ 2012-12-11 13:14 brainworm 阅读(262) 评论(0) 推荐(0)

读取hdfs文件系统里的文件
摘要:hadoop的文件系统在程序代码里面用起来就如我们本地的文件系统一样,可以从里面读取文件,存入文件,等等。下面我们来演示一个从hdfs中的一个目录里,读取这个目录下所有文件的文件名的程序。 1 import org.apache.hadoop.conf.Configuration; 2 import org.apache.hadoop.fs.*; 3 import org.apache.hadoop.mapreduce.lib.input.FileSplit; 4 import org.junit.Test; 5 6 import java.io.IOException; 7 import . 阅读全文

posted @ 2012-12-11 10:27 brainworm 阅读(583) 评论(0) 推荐(0)

hadoop mapreduce 模板
摘要:1 package seven.ili.patent; 2 3 import java.io.IOException; 4 5 import org.apache.hadoop.conf.Configuration; 6 import org.apache.hadoop.conf.Configured; 7 import org.apache.hadoop.fs.Path; 8 import org.apache.hadoop.io.IntWritable; 9 import org.apache.hadoop.io.LongWritable;10 import org.apache.h... 阅读全文

posted @ 2012-12-06 18:10 brainworm 阅读(286) 评论(0) 推荐(0)

Hadoop The Definitive Guide 2nd Edition 笔记
摘要:数据块:HDFS的块大小为64MB,HDFS上的文件被划分为多个分块,作为独立的存储单元。但与其他文件系统不同的是,HDFS中小于一个块大小的文件不会占据整个块的空间。一个文件的大小可以大于集群中任何一个磁盘的容量,其他所有块不需要存储在同一个磁盘上。用 hadoop fsck / -files -blocks 可以查看整个文件系统中各文件的块组成情况。Namenode 与 Datanode:HDFS的模式是“管理者-工作者”模式,namenode就是管理者,datanode就是工作者。namenode手里有文件系统的整个命名空间,也就相当于有一个“管理账簿”。而datanode就是真正的工作 阅读全文

posted @ 2012-12-06 16:11 brainworm 阅读(251) 评论(0) 推荐(0)

hadoop mapreduce 解决 top K问题
摘要:网上搜索到的那个top K问题的解法,我觉得有些地方都没有讲明白。因为我们要找出top K, 那么就应该显式的指明the num of reduce tasks is one.不然我还真不好理解为什么可以得到top K的结果。这里顺便提及一下,一个map task就是一个进程。有几个map task就有几个中间文件,有几个reduce task就有几个最终输出文件。好了,这就好理解了,我们要找的top K 是指的全局的前K条数据,那么不管中间有几个map, reduce最终只能有一个reduce来汇总数据,输出top K。下面写出思路和代码:1. Mappers使用默认的mapper数据,一个 阅读全文

posted @ 2012-12-04 18:17 brainworm 阅读(9257) 评论(1) 推荐(0)

hadoop 多job执行的三种方法
摘要:If you need to split your Map Reduce jar file in two jobs in order to get two different output file, one from each reducers of the two jobs.I mean that the first job has to produce an output file that will be the input for the second job in chain.I will provide some ways following to solve this prob 阅读全文

posted @ 2012-12-04 16:25 brainworm 阅读(782) 评论(0) 推荐(0)

导航