Mahout - Seq2Sparse单减速机

时间:2013-12-01 03:14:27

标签: hadoop mahout

我已经运行了很多天的seq2sparse工作,但它还没有完成。主要原因是大多数“子作业”只有1个减速器,而每个作业有很多映射器。

我在从命令行调用seq2sparse时指定了--numReducers = n,但该属性仅在某些地方使用,例如MakePartialVectors,但不用于Prune Vectors等子作业。

可能是什么原因?

1 个答案:

答案 0 :(得分:1)

我查看了代码并意识到numReducers变量没有传递给所有子作业,因此这些作业是使用默认的reduce容量创建的,即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