Number of mappers is 7. DFS block size is 128 MB, the reason I think there are 
7 mappers being used is that I am using a Pig script to generate the sequence 
file of Vectors and that script generates 7 reducers. I am not setting 
minSplitSize though. 

On Aug 16, 2011, at 12:15 PM, Dmitriy Lyubimov wrote:

> Hm. This is not common at all.
> 
> This error would surface if map split can't accumulate at least k+p rows.
> 
> That's another requirement which usually is non-issue -- any precomputed
> split must contain at least k+p rows, which normally would not be the case
> only if matrix is extra wide and dense, in which case --minSplitSize must be
> used to avoid this.
> 
> But in your case, the matrix is so small it must fit in one split. Can you
> please verify how many mappers the job generates?
> 
> if it's more than 1 than something is going fishy with hadoop. Otherwise,
> something is fishy with input (it's either not 293 rows, or k+p is more than
> 293).
> 
> -d
> 
> On Tue, Aug 16, 2011 at 11:39 AM, Eshwaran Vijaya Kumar <
> evijayaku...@mozilla.com> wrote:
> 
>> 
>> On Aug 16, 2011, at 10:35 AM, Dmitriy Lyubimov wrote:
>> 
>>> This is unusually small input. What's the block size? Use large blocks
>> (such
>>> as 30,000). Block size can't be less than k+p.
>>> 
>> 
>> I did set blockSize to 30,000 (as recommended in the PDF that you wrote
>> up). As far as input size, the reason to do that is because it is easier to
>> test and verify the map-reduce pipeline with my in-memory implementation of
>> the algorithm.
>> 
>>> Can you please cut and paste actual log of qjob tasks that failed? This
>> is
>>> front end error, but the actual problem is actually in the backend
>> ranging
>>> anywhere from hadoop problems to algorithm problems.
>> Sure. Refer http://esh.pastebin.mozilla.org/1302059
>> Input is a DistributedRowMatrix 293 X 236, k = 4, p = 40,  numReduceTasks =
>> 1, blockHeight = 30,000. Reducing p = 20 ensures job goes through...
>> 
>> Thanks again
>> Esh
>> 
>> 
>>> On Aug 16, 2011 9:44 AM, "Eshwaran Vijaya Kumar" <
>> evijayaku...@mozilla.com>
>>> wrote:
>>>> Thanks again. I am using 0.5 right now. We will try to patch it up and
>> see
>>> how it performs. In the mean time, I am having another (possibly user?)
>>> error: I have a 260 X 230 matrix. I set k+p = 40, it fails with
>>>> 
>>>> Exception in thread "main" java.io.IOException: Q job unsuccessful.
>>>> at org.apache.mahout.math.hadoop.stochasticsvd.QJob.run(QJob.java:349)
>>>> at
>>> 
>> org.apache.mahout.math.hadoop.stochasticsvd.SSVDSolver.run(SSVDSolver.java:262)
>>>> at
>>> org.apache.mahout.math.hadoop.stochasticsvd.SSVDCli.run(SSVDCli.java:91)
>>>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>>>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
>>>> at
>>> 
>> org.apache.mahout.math.hadoop.stochasticsvd.SSVDCli.main(SSVDCli.java:131)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>> at
>>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>> at
>>> 
>> org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
>>>> at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
>>>> at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:187)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>> at
>>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>> at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
>>>> 
>>>> 
>>>> Suppose I set k+p to be much lesser say around 20, it works fine. Is it
>>> just that my dataset is of low rank or is there something else going on
>>> here?
>>>> 
>>>> Thanks
>>>> Esh
>>>> 
>>>> 
>>>> 
>>>> On Aug 14, 2011, at 1:47 PM, Dmitriy Lyubimov wrote:
>>>> 
>>>>> ... i need to let some time for review before pushing to ASF repo )..
>>>>> 
>>>>> 
>>>>> On Sun, Aug 14, 2011 at 1:47 PM, Dmitriy Lyubimov <dlie...@gmail.com>
>>> wrote:
>>>>> 
>>>>>> patch is posted as MAHOUT -786.
>>>>>> 
>>>>>> also 0.6 trunk with patch applied is here :
>>>>>> https://github.com/dlyubimov/mahout-commits/tree/MAHOUT-786
>>>>>> 
>>>>>> <https://github.com/dlyubimov/mahout-commits/tree/MAHOUT-786>I will
>>> commit
>>>>>> to ASF repo tomorrow night (even that it is extremely simple, i need
>>>>>> 
>>>>>> 
>>>>>> On Sat, Aug 13, 2011 at 1:48 PM, Eshwaran Vijaya Kumar <
>>>>>> evijayaku...@mozilla.com> wrote:
>>>>>> 
>>>>>>> Dmitriy,
>>>>>>> That sounds great. I eagerly await the patch.
>>>>>>> Thanks
>>>>>>> Esh
>>>>>>> On Aug 13, 2011, at 1:37 PM, Dmitriy Lyubimov wrote:
>>>>>>> 
>>>>>>>> Ok, i got u0 working.
>>>>>>>> 
>>>>>>>> The problem is of course that something called BBt job is to be
>>> coerced
>>>>>>> to
>>>>>>>> have 1 reducer (it's fine, every mapper won't yeld more than
>>>>>>>> upper-triangular matrix of k+p x k+p geometry, so even if you end up
>>>>>>> having
>>>>>>>> thousands of them, reducer would sum them up just fine.
>>>>>>>> 
>>>>>>>> it worked before apparently because configuration hold 1 reducer by
>>>>>>> default
>>>>>>>> if not set explicitly, i am not quite sure if that's something in
>>> hadoop
>>>>>>> mr
>>>>>>>> client or mahout change that now precludes it from working.
>>>>>>>> 
>>>>>>>> anyway, i got a patch (really a one-liner) and an example equivalent
>>> to
>>>>>>>> yours worked fine for me with 3 reducers.
>>>>>>>> 
>>>>>>>> Also, in the tests, it also requests 3 reducers, but the reason it
>>> works
>>>>>>> in
>>>>>>>> tests and not in distributed mapred is because local mapred doesn't
>>>>>>> support
>>>>>>>> multiple reducers. I investigated this issue before and apparently
>>> there
>>>>>>>> were a couple of patches floating around but for some reason those
>>>>>>> changes
>>>>>>>> did not take hold in cdh3u0.
>>>>>>>> 
>>>>>>>> I will publish patch in a jira shortly and will commit it
>> Sunday-ish.
>>>>>>>> 
>>>>>>>> Thanks.
>>>>>>>> -d
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Fri, Aug 5, 2011 at 7:06 PM, Eshwaran Vijaya Kumar <
>>>>>>>> evijayaku...@mozilla.com> wrote:
>>>>>>>> 
>>>>>>>>> OK. So to add more info to this, I tried setting the number of
>>> reducers
>>>>>>> to
>>>>>>>>> 1 and now I don't get that particular error. The singular values
>> and
>>>>>>> left
>>>>>>>>> and right singular vectors appear to be correct though (verified
>>> using
>>>>>>>>> Matlab).
>>>>>>>>> 
>>>>>>>>> On Aug 5, 2011, at 1:55 PM, Eshwaran Vijaya Kumar wrote:
>>>>>>>>> 
>>>>>>>>>> All,
>>>>>>>>>> I am trying to test Stochastic SVD and am facing some errors where
>>> it
>>>>>>>>> would be great if someone could clarifying what is going on. I am
>>>>>>> trying to
>>>>>>>>> feed the solver a DistributedRowMatrix with the exact same
>> parameters
>>>>>>> that
>>>>>>>>> the test in LocalSSVDSolverSparseSequentialTest uses, i.e, Generate
>> a
>>>>>>> 1000
>>>>>>>>> X 100 DRM with SequentialSparseVectors and then ask for blockHeight
>>>>>>> 251, p
>>>>>>>>> (oversampling) = 60, k (rank) = 40. I get the following error:
>>>>>>>>>> 
>>>>>>>>>> Exception in thread "main" java.io.IOException: Unexpected overrun
>>> in
>>>>>>>>> upper triangular matrix files
>>>>>>>>>> at
>>>>>>>>> 
>>>>>>> 
>>> 
>> org.apache.mahout.math.hadoop.stochasticsvd.SSVDSolver.loadUpperTriangularMatrix(SSVDSolver.java:471)
>>>>>>>>>> at
>>>>>>>>> 
>>>>>>> 
>>> 
>> org.apache.mahout.math.hadoop.stochasticsvd.SSVDSolver.run(SSVDSolver.java:268)
>>>>>>>>>> at com.mozilla.SSVDCli.run(SSVDCli.java:89)
>>>>>>>>>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>>>>>>>>>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
>>>>>>>>>> at com.mozilla.SSVDCli.main(SSVDCli.java:129)
>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>> at
>>>>>>>>> 
>>>>>>> 
>>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>>>> at
>>>>>>>>> 
>>>>>>> 
>>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>> at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
>>>>>>>>>> 
>>>>>>>>>> Also, I am using CDH3 with Mahout recompiled to work with CDH3
>> jars.
>>>>>>>>>> 
>>>>>>>>>> Thanks
>>>>>>>>>> Esh
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>> 
>> 
>> 

Reply via email to