我知道有像crunch\u bytes\u per\u reduce\u task或mapred.reduce.tasks这样的属性来设置reducer的数量。有没有人建议为某个需要更多时间执行的dofn配置/重写默认的reducer。
ua4mk5z41#
通过使用 ParallelDoOptions 把这个作为第四个论点 parallelDo 这样地:
ParallelDoOptions
parallelDo
ParallelDoOptions opts = ParallelDoOptions.builder().conf("mapred.reduce.tasks", "64").build();
把这个传过来 parallelDo 作为第四个参数。
d8tt03nd2#
克朗奇的 MapFn 接口包括 scaleFactor 方法:您可以重写自定义dofn中的scalefactor方法,以便向crunch planner提供有关输入数据集在通过process方法后将变大(或变小)多少的提示。如果调用groupbykey方法时没有提供明确数量的reducer,则规划器将尝试根据输入数据的大小猜测作业应使用多少reduce任务,这部分是通过使用在处理路径中的dofns上调用scalefactor方法的结果来确定的。资料来源:http://crunch.apache.org/user-guide.html#doplanjavadocs链接:http://crunch.apache.org/apidocs/0.15.0/org/apache/crunch/dofn.html#scalefactor--
MapFn
scaleFactor
2条答案
按热度按时间ua4mk5z41#
通过使用
ParallelDoOptions
把这个作为第四个论点parallelDo
这样地:把这个传过来
parallelDo
作为第四个参数。d8tt03nd2#
克朗奇的
MapFn
接口包括scaleFactor
方法:您可以重写自定义dofn中的scalefactor方法,以便向crunch planner提供有关输入数据集在通过process方法后将变大(或变小)多少的提示。如果调用groupbykey方法时没有提供明确数量的reducer,则规划器将尝试根据输入数据的大小猜测作业应使用多少reduce任务,这部分是通过使用在处理路径中的dofns上调用scalefactor方法的结果来确定的。
资料来源:http://crunch.apache.org/user-guide.html#doplan
javadocs链接:http://crunch.apache.org/apidocs/0.15.0/org/apache/crunch/dofn.html#scalefactor--