hadoop:当启用jvm重用时,可以在单个节点中并行运行多个映射共享静态数据吗?

时间:2014-04-19 16:41:50

标签: java hadoop jvm

hadoop:当enble jvm重用时,在单个节点中并行运行的几个map或reduce任务共享静态数据?

换句话说:如果我有一个静态字符串" xxx"在maper类中,当enble jvm重用时,可以在单个节点中并行运行的2个映射共享String" xxx"或者仍有2个静态字符串" xxx"在不同的地图中。

为什么我会感到困惑?因为我看到以下评论:


  

作业可以通过指定作业来重用任务JVM   配置mapred.job.reuse.jvm.num.tasks。如果值为1(   默认情况下,然后不重用JVM(即每个JVM 1个任务)。如果是-1,   JVM可以运行的任务数量没有限制(相同的   工作)。也可以使用api指定大于1的某个值。   分享|编辑|标志回答2月2日' 11在18:09 Joe Stein 749169 1          谢谢,还有一个问题。这些任务是否也共享一些类加载器,因此所有静态资源只加载一次? (要么   它可能像tomcat一样工作,这样几乎没有理由   分享JVM ...) - yura 2月4日和11月13日13:10 1          任务完成后,JVM将被清除。此参数仅为不长时间运行的作业提供更好的运行时间。   因为jvm实例化非常昂贵。你不能分享任何   任务实例上的资源。 - Thomas Jungblut 2月4日&11; 11:21


以上评论参考:Is it possible to run several map task in one JVM?

0 个答案:

没有答案