Python 如何限制本地MRJob任务中的进程数

Python 如何限制本地MRJob任务中的进程数,python,hadoop,mrjob,Python,Hadoop,Mrjob,我正在使用MRJob在8核机器上运行MapReduce作业。我使用Python API编写了它,并以 $ python main.py -r local files/input* 该文件夹中有大约750个输入文件,当我以这种方式运行它时,我相信mrjob启动的映射程序的数量与输入文件的数量相同。即使这台机器有8个内核,我也认为平均负载为 load average: 551.26, 553.29, 556.82 有没有办法限制地图绘制者的数量,使其一次只能发布8(或16)个地图绘制者?我找不到

我正在使用MRJob在8核机器上运行MapReduce作业。我使用Python API编写了它,并以

$ python main.py -r local files/input*
该文件夹中有大约750个输入文件,当我以这种方式运行它时,我相信mrjob启动的映射程序的数量与输入文件的数量相同。即使这台机器有8个内核,我也认为平均负载为

load average: 551.26, 553.29, 556.82
有没有办法限制地图绘制者的数量,使其一次只能发布8(或16)个地图绘制者?我找不到这个配置选项,这表明我在某个地方做错了什么

谢谢

编辑

这是我的MRjob任务的大致轮廓

from mrjob.job import MRJob
from mrjob.step import MRStep

class MyMR(MRJob):

    def mapper_xml_init(self):
        self.abuf = ""

    def mapper_xml(self, _, line):

        self.abuf += line.strip()

        # ... work with self.abuf

        if acondition:
            self.abuf = ""


    def reducer_mean(self, _, values):
        # process some stuff

    def steps(self):
        return [
            MRStep(mapper_init=self.mapper_xml_init, 
                   mapper=self.mapper_xml),  

            MRStep(reducer=self.reducer_mean),
        ]

if __name__ == '__main__':
    MyMR.run()

你能给我一些关于如何在main.py中访问Hadoop的详细信息吗?@stefanpap,谢谢你询问更多信息!我加上了这份工作的大致轮廓。我正在为文件夹中的所有文件运行此操作。你知道我为什么有700个进程吗?