我有一个存储文档tfidf值的大序列文件。每行代表行,列是每个项的 tfidfs 值(行是稀疏向量)。我想使用 Hadoop 为每个文档选择前 k 个单词。天真的解决方案是遍历映射器中每一行的所有列并选择top-k,但随着文件变得越来越大,我认为这不是一个好的解决方案。在Hadoop中,有没有更好的方法呢?
1. In every map calculate TopK (this is local top K for each map)
2. Spawn a signle reduce , now top K from all mappers will flow to this reducer and hence global Top K will be evaluated.
将问题视为
1. You have been given the results of X number of horse races.
2. You need to find Top N fastest horse.