java作业今晚要交了,有会做的老兄们,帮帮忙?

断断续续看hadoop0.1的源码也估计有5个月了,觉得这个东西非常有趣,也为自己能看懂一个Mapreduce的开源实现而感到欣喜,这段时间学习了很多j2se的知识,也略微学到了hadoop作者设计软件的思路。在09年7月的时候自己还动手做了个小系统,大概的意思就是在hadoop里插入代码,然后可视化其中的机理。现在我还是一直在研究这个,谁叫我靠这个毕业呢 =。=

接下来的很多篇连续的文章里,我给自己的目标是详详细细的记录每个细节,从使用什么ide,到怎么导入hadoop0.1工程,怎么读懂源码,到怎么修改内核源码,并且重新编译最后使用自己的源码并使用。源码我基本上80%都仔细看过了,绝大部分都作了注释。只是一下子发上来估计朋友们会弄不清头绪,我尽量写清晰点。

热忱欢迎网友来交流,给出意见!也不知道我能坚持多久,估计有些支持的话会更好。。

mapreduce是一个新的分布式计算模型,按我这个土人的理解,分布式计算模型就是一个软件库,它的本事就是能把好多机器集合起来一起做一件事情,让它做得比一台机子更快,它跟以前的mpi有很多相似的地方,比如都牵扯到多台机器(废话。。),但是mapreduce有主从之分;都牵扯到多个分布式进程(废话。。),但是mpi的进程之间通信非常显著和必要,而mapreduce的分布式进程之间通信几乎为0;两者还有一些区别,比如mpi更适合cpu密集型的运算,是一个通用的分布式计算框架,而mapreduce是特地设计用来计算大规模数据集的,说得直白一点,数据量要是不上个几百G上T,还体现不出mapreduce的优势呢!还有,mapreduce的程序是写一次可以应付n个节点的,而不管这个n是多少,我的程序依然不变。不太知道mpi是不是这样,就不在这里妖言惑众了。

另外,mapreduce最开始是由google提出并用c++实现的,没有源码发布。hadoop是dong cutting用java写的开源的实现,这老兄以前是大名鼎鼎的lucene的作者。膜拜一下先。

下一篇讲如何获取hadoop的源码,hadoop源码的组织结构是什么,各个包是干嘛的,还有怎么导入源码到eclipse中,甚至怎么修改源码,编译新内核。以及一些mapreduce的基础知识,包括它的两个组成部分,map和reduce到底是在干嘛。有时间也会写怎么使用hadoop的。。以及为什么选择0.1版本。

第一篇就从一个mapreduce的经典例子讲起。wordcount.java。说简单点,当输入是

现在就知道wordcount其实就是计算词出现的次数的。如果你用这个数据量当输入,那么你会失望透顶,因为运算速度巨慢,但是数据量是上G的时候,你还是会喜出望外的。

这个类只是初步展示一下hadoop程序的结构,我刚开始接触的时候晕了很长时间。好了,但愿注释很详细,不过没懂也没关系,下一章开始详细讲述

我觉得Java内部类应用很广泛的,找了个18页的学习资料。分享下。

}

    关注技术领域的头条文章

    聚合全网技术文章,根据你的阅读喜好进行个性推荐

聚合全网技术文章,根据你的阅读喜好进行个性推荐

深圳市奥思网络科技有限公司版权所有

}

我要回帖

更多关于 java新手程序员网上接活 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信