分享

mapreduce存在多线程情况吗?

cloudcat 发表于 2016-8-15 18:36:52 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 10541
我在写我的mapper时候,比如我new 了一个成员变量会出现多线程吗?就像 java的serlet一样
public static class CoreMapper extends Mapper<Object, Text, Text, IntWritable> {        private IntWritable a= new IntWritable(1);      
  @Override        
       protected void map(Object key, IntWritable value, Mapper<Object, IntWritable, Text, IntWritable>.Context context)                throws IOException, InterruptedException {            
                       a=value;               
                       context.write("a", a);               
   }


  会不会出现这种情况?当一个线程执行 context.write("a", a); 时候,此事刚好另一个线程执行    a=value; 这样就会输出错误的值?


请问会出现这种情况吗?

已有(4)人评论

跳转到指定楼层
qcbb001 发表于 2016-8-15 18:48:46
不会的,这个放心好了。可能有多进程,启动多个job任务
回复

使用道具 举报

qcbb001 发表于 2016-8-15 18:58:19
本帖最后由 qcbb001 于 2016-8-15 18:59 编辑

mapreduce运行的都是进程楼主参考这个

mapreduce是线程还是进程




回复

使用道具 举报

cloudcat 发表于 2016-8-16 17:41:23
qcbb001 发表于 2016-8-15 18:58
mapreduce运行的都是进程楼主参考这个

mapreduce是线程还是进程

感谢你,谢谢你的回答,我受益匪浅
回复

使用道具 举报

ggggying12 发表于 2017-2-22 18:23:15
好好学习,天天向上
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条