Hi everybody, I am facing a very strange problem
Sometimes when I run my program one line of the result is totally wrong and if I repeat the execution with same input it can change
The algorithm takes two dataset and execute something like a left outer join where
if there is a match
- it increments a counter on the left tuple
- add some values of the right tuple to an array of the left tuple
in the end it outputs the left value with the final counter and list of values (printer lines A and B)
then there is a group reduce phase that merge element from different groups (there can be but not always)
finally there is a map that applies some custom functions (printer lines C and D)
my problem is that from printer B and C the data actually change with no reason
in example in line B counter is 7 in line C it is 1.82E9, it always goes to very high numbers from E9 to E18 while it is expected to be smaller than 20
moreover the array of extradata goes to null
what i found is that
it never happened if the reduce is actually executed (when there are many elements in a group) but only when there is one element per group (so the reduce should not change data in a tuple)
I am running on a small dataset 60k lines and if it happens, it always happens in the same line of the input
if I change dataset it happens on an other line but always on the same for that dataset
By now it always happened in only one line for each dataset (I am using a local environment with parallelism 1)
I tried to changed the reduce with a reducegroup and inside the reducegroup a pure scala reduce, this worked perfectly (by now)
I also added two groupby and reducegroup block (that take the line at put it in output) before and after the groupby-reduce, in both cases i faced no problem at all
it only seems to appear when using the group and reduce
any idea on what could be the problem? I am getting mad on it
thanks for help
this is the code I use (there are a lot of println for debugging)
groupedRef // expID, bin, chromosome
} |
Hey Michele! Sorry for the long delay on this. Can you share the code and data? The easiest thing to reproduce is to actually run the code with the data. It will also help a lot when trying to fix the problem. If you can't share publicly feel free to mail me at uce at apache org. – Ufuk On Thu, Oct 8, 2015 at 9:53 AM, Michele Bertoni <[hidden email]> wrote:
|
Hi Michele, I will look into the problem. As Ufuk said, it would be really helpful, if you could provide us with the data set. If it's problematic to share the data via the mailing list, then you could also send me the data privately. Thanks a lot for your help. Cheers, Till On Fri, Oct 16, 2015 at 9:59 PM, Ufuk Celebi <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |