hadoop二次排序 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?既然是java題,這就是經(jīng)典的topk問題。先取前100個(gè)數(shù),建立一個(gè)最小堆,剩下的數(shù)依次從堆頂插入元素,同時(shí)調(diào)整堆。最后堆中的100個(gè)元素即
一道java面試題,20億數(shù)字的文本排序,如何取前100?
既然是java題,這就是經(jīng)典的topk問題。先取前100個(gè)數(shù),建立一個(gè)最小堆,剩下的數(shù)依次從堆頂插入元素,同時(shí)調(diào)整堆。最后堆中的100個(gè)元素即為結(jié)果??臻g復(fù)雜度為k,時(shí)間復(fù)雜度為nlogk
hadoopmapreduce結(jié)果默認(rèn)按什么排序?
需要對(duì)不同分區(qū)中的數(shù)據(jù)進(jìn)行排序和分組,默認(rèn)情況下,是按照key進(jìn)行排序和分組。