Hadoop Mahout-单减速器
我已经运行seq2sparse作业很多天了,但它就是没有完成。主要原因是大多数“子作业”只有一个减速器,而每个作业都有许多映射器 我在从命令行调用seq2sparse时指定了--numReducers=n,但该属性仅用于某些位置,如Hadoop Mahout-单减速器,hadoop,mahout,Hadoop,Mahout,我已经运行seq2sparse作业很多天了,但它就是没有完成。主要原因是大多数“子作业”只有一个减速器,而每个作业都有许多映射器 我在从命令行调用seq2sparse时指定了--numReducers=n,但该属性仅用于某些位置,如MakePartialVectors,而不用于Prune Vectors等子作业 原因可能是什么?我查看了代码,发现numReducers变量并没有传递给所有子作业,因此这些作业是使用默认的reduce容量创建的,即1 要绕过此限制,只需指定变量-Dmapred.re
MakePartialVectors
,而不用于Prune Vectors
等子作业
原因可能是什么?我查看了代码,发现
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
我查看了代码,意识到numReducers
变量并没有传递给所有子作业,因此这些作业是使用默认值创建的减少容量,即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