我有一个可以工作的Hadoop流设置,但是在初始化映射器时会有一些开销,每个文件执行一次,因为我正在处理许多文件,我注意到我在初始化上花了很多时间。
是否有办法在不编写任何Java的情况下指定我想为多个文件重用相同的映射器实例来分摊初始化成本?
答案 0 :(得分:0)
在$HADOOP_HOME/conf/mapred-site.xml
添加/修改关注属性
<property>
<name>mapred.job.reuse.jvm.num.tasks</name>
<value>#</value>
</property>
可以将#
设置为一个数字,以指定JVM的重用次数(默认值为1),或设置为-1,以便不对重用量进行限制。
还可以通过将作业配置mapred.job.reuse.jvm.num.tasks
设置为所需的值来为每个作业指定它。