mahout-seq2sparse单减速机

kx1ctssn  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(294)

我已经运行seq2sparse作业很多天了,但它还没有完成。主要原因是大多数“子作业”只有一个减速器,而每个作业有许多Map器。
我在从命令行调用seq2sparse时指定了--numreducers=n,但该属性仅在某些地方使用,例如 MakePartialVectors 但不适合像这样的副职 Prune Vectors .
原因是什么?

2w3rbyxf

2w3rbyxf1#

我查看了代码,发现 numReducers 变量不会传递给所有子作业,因此这些作业将使用默认的reduce capacity(即1)创建
要绕过此限制,只需指定变量即可 -Dmapred.reduce.tasks=n 同时从命令行调用作业以及 --numReducers=n 参数
也有必要指定 numReducers 因为默认情况下,mahout cli将其视为一个。
所以命令的一个例子是 ./mahout seq2sparse -Dmapred.reduce.tasks=10 -i seq-files -o vectors -nv -wt tfidf -ng 2 --numReducers 10 --maxDFPercent 90 --minDF 2 --norm 2 --minLLR 20

相关问题