在apachecrunch中为特定dofn配置reducer的数量

v440hwme  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(329)

我知道有像crunch\u bytes\u per\u reduce\u task或mapred.reduce.tasks这样的属性来设置reducer的数量。
有没有人建议为某个需要更多时间执行的dofn配置/重写默认的reducer。

ua4mk5z4

ua4mk5z41#

通过使用 ParallelDoOptions 把这个作为第四个论点 parallelDo 这样地:

ParallelDoOptions opts = ParallelDoOptions.builder().conf("mapred.reduce.tasks", "64").build();

把这个传过来 parallelDo 作为第四个参数。

d8tt03nd

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--

相关问题