MapReduce 程序调试心得
相信用 Java 写过稍微大型点儿的 MapReduce 程序的朋友都有体会,MapReduce 程序调试起来并不方便。粗略想了一下,原因大概有以下两点: MapReduce 的处理思路增加了数据流的环节。 按照 MapReduce 的思想,业务逻辑在实现时,被人为地拆分成了 map 和 reduce 两个不同的阶段,两个阶段需要通过…
Read More相信用 Java 写过稍微大型点儿的 MapReduce 程序的朋友都有体会,MapReduce 程序调试起来并不方便。粗略想了一下,原因大概有以下两点: MapReduce 的处理思路增加了数据流的环节。 按照 MapReduce 的思想,业务逻辑在实现时,被人为地拆分成了 map 和 reduce 两个不同的阶段,两个阶段需要通过…
Read More在写 MapReduce 程序时,mapper/reducer 与进程在概念上的对应关系是这样的: 一个 mapper/reducer,对应一个 map/reduce task,对应一个 JVM,对应一个进程。也就是说,在一个 JVM 进程里只能运行一个 mapper/reducer。 其中,mapper 类总是必不可少的。实际上,MapReduce API…
Read More最近工作中遇到的问题,简单记录下。 问题的情形是这样的: 由于需要用到 MapReduce 的 task side-effect files特性,在写 side-effect 文件时,用到了 FSDataOutputStream 类的 writeUTF() 方法。问题在于用 FSDataOutputStream.writeUTF()…
Read More