-
排序经常会用,但是怎么在大数据中,以Map,Reduce这种形式来进行实现了?
首先你要明确目标对象,对谁进行排序,如果是自定义的对象,需要实现其CompareTo方法,因为这个是对象之间比较大小的方法。
另外你需要设计排序策略,特殊情况,正常情况,编程的时候,应该先写特殊情况,最后写正常情况,这样的话,逻辑更加清晰。
-
如何设计呢?
首先按照正常逻辑写好Map和Reduce程序,然后输出,最后得到的是一些文本,
在写一个Map,Reduce程序在写,进行排序。思想也是一样的,偏移量为key,(刚学的时候,不知道什么是偏移量,后来才明白,是字段的偏移量,比如第一行,开始偏移量为1,第二行,偏移量就是11,为什么,因为,第一行有10个字符,占据了10位)
-
在所有的mapreduce程序当中k1,v1,k2,v2,k3,v3中的k1一点用都没有,至于其他的k2和v2,他们可以自己进行设计,这些都只是输出,可以是对象,也可以是数值,包括v3,也可以是NULLwriteable等等之类的。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/193334.html