有10个文件,每个文件1G,每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要求按照query的频度排序.
主要分一下几步来完成:
依次打开有10个文件,将文件内的query进行hash,并按照hash(query)%10将其分别写到不同的文件中。
对步骤1生成的10个文件,依次处理,处理方法如下:
(1). 对文件中的内容(即query)用hash_map<query,count>进行统计
(2). 按照频度count进行排序
(3). 排序好的结果再放回文件中
对步骤2生成的10个文件内容根据频度count进行归并排序,输出到目标文件。