如何实现映射减少作业,该作业将文件拆分为更小的子文件,以便在内存中读取



我正在尝试用python编写一个map reduce作业。第一个映射器将把文件拆分为多个子文件,reducer将对相同的文件进行一些操作并将其组合我如何在第一个map reduce和此外的python中编写随机拆分文件我曾想过使用os模块和split命令来拆分它,但我的困惑是,如果我将它拆分为30个部分,我如何确保30个部分以相同的方式处理,或者hadoop确保了并发性?

为了更好地理解我的困惑:假设我在map作业中将文件拆分为k个部分,我需要向reduce作业传递什么信息才能使其在每个拆分文件

上运行

我假设128Mb文件作为输入,您想对它进行一些计算。hadoop流将是这样的。对于mapper输入,split将为2,因此两个mapper将在2(64mb)块上运行。现在在mapper中,您将编写逻辑,然后它将输出键/值对。现在,两个块中的键/值将根据您的用例经过组合器、混洗、排序和1个reducer(默认值)。最后,您将获得所需的输出。因此,文件分割和隔离是由hadoop框架处理的。

问候

Jyoti Ranjan Panda

相关内容

  • 没有找到相关文章

最新更新