[ 
https://issues.apache.org/jira/browse/MAHOUT-663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Owen updated MAHOUT-663:
-----------------------------

    Affects Version/s: 0.5
        Fix Version/s: 0.6

I agree that this can and should be changed.

I think the current behavior is sort of necessary: you have to have told Hadoop 
where the classes are, and it makes a very decent guess. But it's at best a 
good default and needs to be changeable.

Good news is this is already how AbstractJob works, sort of. You get a Job 
object that you further configure and run. But I think you're suggesting that 
it's really something that should be specifiable on the command line somehow, 
as a common arg, that overrides the default? Sounds easy and good to me.

The broader point you're making, I think, is that there should be a more 
consistent structure to "Drivers" and that structure ought to be X, Y or Z. 
Couldn't agree more and that's a long-standing problem which I've been trying 
to push via AbstractJob. At least once it's all in one place, it's easy to make 
that one approach do X Y or Z as we like. So I kind of suggest that is the way 
forward beyond what I suggest above.


> Rationalize hadoop job creation with respect to setJarByClass
> -------------------------------------------------------------
>
>                 Key: MAHOUT-663
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-663
>             Project: Mahout
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 0.4, 0.5
>            Reporter: Benson Margulies
>             Fix For: 0.6
>
>
> Mahout includes a series of driver classes that create hadoop jobs via static 
> methods.
> Each one of these calls job.setJarByClass(itself.class).
> Unfortunately, this subverts the hadoop support for putting additional jars 
> in the lib directory of a job jar, since the class passed in is not a class 
> that lives in the ordinary section of the job jar.
> The effect of this is to force users of Mahout (and Mahout's own example job 
> jar) to unpack the mahout-core jar into the main section, instead of just 
> treating it as a 'lib' dependency.
> It seems to me that all the static job creators should be refactored into a 
> public function that returns a job object (and does NOT call 
> waitForCompletion), and then the existing wrapper. Users could call the new 
> functions, and make their own call to setJarByClass.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to