优秀的编程知识分享平台

网站首页 > 技术文章 正文

MapReduce实战(2)——文件内容合并去重

nanyue 2024-11-13 11:38:22 技术文章 2 ℃

题目要求

思路:

根据前面介绍的,我们大致可以将流程分为以下:

因此还是老样子,咱们先在map层将数据统一为需求格式输出,然后将其作为reduce层的输入并统一处理最后得到结果。


Map层处理

对于数据输入,我们可以根据题目要求:

因此咱们可以先将每行的数据进行split分割,然后按照指定格式输出:


Reduce层处理

在Map层处理完数据格式后,咱们在reduce层利用print函数打印一下输入的数据格式:


这里可以看出,reduce层传入的k为序号,values为对应的参数集合。那如何快速的去重呢?这里咱们可以利用一种python的一种数据结构——集合set,它默认具有去重效果。

同时,题目还有第二个要求,就是将这个进行排序,因此咱们可以利用python的list自带的sort函数进行排序。



最近发表
标签列表