关于我的问题,我有一个用Python编写的流式处理过程。
我注意到每个Reducer
通过sys.stdin
获取与多个键关联的所有值。
我希望sys.stdin仅具有与一个键关联的值。 Hadoop是否可能?我认为每个键都有一个不同的过程将是完美的,但是找不到能提供这种行为的配置。
有人可以在信息或代码方面为我提供帮助吗?
最佳答案
是的,如果您知道映射器将发出的键的总数。您可以将其设置为
job.setNUmReduceTasks(int n)
另外,可以在mapred-site.xml中定义将并行运行的reduces总数为:
mapred.tasktracker.reduce.tasks.maximum
这将加快还原过程。但是,每个reducer都作为jvm任务运行。因此,您的配置应该能够处理将产生的jvm数量
关于hadoop - 配置Hadoop为每个 key 使用不同的Reducer流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15884805/