摘要: 之前在工作中使用到过MapReduce的排序,当时对于这个平台的理解还比较浅显,选择的是一个最为简单的方式,就是只用一个Recude来做。因为Map之后到Reduce阶段,为了Merge的方便,MapReduce的实现会自己依据key值进行排序,这样得出的结果就是一个整体排序的结果。而如果使用超过一个Reduce任务的话,所得的结果是每个part内部有序,但是整体是需要进行merge才可以得到最终... 阅读全文
posted @ 2010-11-24 20:37 funnydavid 阅读(13991) 评论(3) 推荐(3) 编辑
摘要: 最近抽时间在读高爷爷的《计算机程序设计艺术》这本书,没敢看英文原版,找了中文版的来读,顺手做了一些笔记。先看的查找部分,从最简单的顺序查找开始,基础不好,跳过大部分数学分析部分。。。1. 排序有时是查找的一个好替换,而查找有时又是排序的一个好替换。 举例来说,给定两组数 A={a1, a2, a3, ... am}和 B={b1, b2, b3, ..., bn},确定是否A包含于B。这本身有三种... 阅读全文
posted @ 2010-11-24 10:44 funnydavid 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 之前看了一些简单的算法题目,感觉很有意思,而在自己做的工程项目开发过程中,却又感觉很少用到,大约是所做的工程太过于简单的缘故吧。最近在读《Hadoop权威指南》那本书,从中看到了不少算法的应用,举两个简单的例子来说。 1.寻找最近的备份数据。 在Hadoop中,用户可以指定要数据的备份数目,比如默认default的备份数目是3。那么在读取数据时,如果发现某个结点的数据已经损坏,则需要从另外的备份中... 阅读全文
posted @ 2010-11-24 10:43 funnydavid 阅读(2121) 评论(0) 推荐(0) 编辑
摘要: 之前被一个一直用C/C++的朋友问JAVA是怎么实现进程间通信的,一时语塞。第一反应是多线程的东西,可以传递共享变量之类,然而多进程的还真没有考虑过。 初步想来,使用在不同机器上的进程通信一般就是RMI、PRC和Web Service之类,也就是底层基于Socket的通信方式。上网查了一下,传统的进程间通信的方式有大致如下几种:(1) 管道(PIPE) (2) 命名管道(FIFO) (3) 信号灯... 阅读全文
posted @ 2010-11-12 11:06 funnydavid 阅读(6559) 评论(0) 推荐(0) 编辑
摘要: 之前被人面C++鄙视了,所以决心学习一下C++相关的东西,买了C++ Primer来读,顺便摘抄一些读书笔记。第一部分基础知识的分享出来~因为大部分是给我自己看的,所以可能有些比较小白的知识点或者不知所以的话,读者见谅。1.使用extern关键字时:2. Const Object are local to a file by default. 一个const变量如果想要被其他文件引用的话需要加ex... 阅读全文
posted @ 2010-11-10 11:32 funnydavid 阅读(687) 评论(0) 推荐(0) 编辑
摘要: 暂时还没有足够的经济实力购买自己的虚拟主机搭建服务器,所以先把家安在这里~[代码] 阅读全文
posted @ 2010-11-10 11:20 funnydavid 阅读(131) 评论(0) 推荐(0) 编辑