Indeed it causes compile errors :
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project mahout-math: Compilation failure
[ERROR]
/home/myCompny/Downloads/mahout9/math/src/main/java/org/apache/mahout/math/stats/GroupTree.java:[171,31]
cannot find symbol
[ERROR] symbol:   method newArrayDeque()
[ERROR] location: class com.google.common.collect.Queues
 So I'll dig in the code to find where to replace and find an equivalent.

Thanks for your help !

Kévin Moulart


2014-03-06 16:36 GMT+01:00 Sean Owen <sro...@gmail.com>:

> If I'm right, then it will cause compile errors, but then, you just
> fix those by replacing some Guava constructs with equivalent Java or
> older Guava code. IIRC it is fairly trivial.
>
> And in fact probably should not use Guava 12+ methods for this reason
> even if compiling against 12+. And in fact I thought someone cleaned
> that up...
>
> On Thu, Mar 6, 2014 at 3:34 PM, Kevin Moulart <kevinmoul...@gmail.com>
> wrote:
> > Ok so should I try and recompile and change the guava version to 11.0.2
> in
> > the pom ?
> >
> > Kévin Moulart
> >
> >
> > 2014-03-06 16:26 GMT+01:00 Sean Owen <sro...@gmail.com>:
> >
> >> That's gonna be a Guava version problem. I have seen variants of this
> >> for a while. Hadoop still uses 11.0.2 even in HEAD and you can often
> >> get away with using a later version in a project like this, even
> >> though code that executes on Hadoop will use an older Guava than you
> >> compiled against. This is an example of that gotcha. I think it may be
> >> necessary to force Mahout to use 11.0.2 and change this code.
> >>
> >> I am having deja vu like this has come up before too.
> >>
> >>
> >>
> >>
> >>
> >> On Thu, Mar 6, 2014 at 3:23 PM, Kevin Moulart <kevinmoul...@gmail.com>
> >> wrote:
> >> > Hi thanks very much it seems to have worked !
> >> > Compiling with "mvn clean package -Dhadoop2.version=2.0.0-cdh4.6.0"
> works
> >> > and I no longer have the error, but then when running tests that used
> to
> >> > work with previous install like trainAdaptativeLogistic and then
> >> > ValidateAdaptativeLogistic, the first works but the second yields an
> >> error :
> >> >
> >> > bin/mahout validateAdaptiveLogistic --input
> >> > /mnt/hdfs/user/myCompany/Echant/echant300k_wh.csv --model
> >> > /mnt/hdfs/user/myCompany/Echant/Models/echnat.model --auc --scores
> >> > --confusion.
> >> > 14/03/06 15:53:42 WARN driver.MahoutDriver: No
> >> > validateAdaptiveLogistic.props found on classpath, will use
> command-line
> >> > arguments only
> >> > Exception in thread "main" java.lang.NoSuchMethodError:
> >> > com.google.common.collect.Queues.newArrayDeque()Ljava/util/ArrayDeque;
> >> > at org.apache.mahout.math.stats.GroupTree$1.<init>(GroupTree.java:171)
> >> >  at
> org.apache.mahout.math.stats.GroupTree.iterator(GroupTree.java:169)
> >> > at
> org.apache.mahout.math.stats.GroupTree.access$300(GroupTree.java:14)
> >> >  at
> org.apache.mahout.math.stats.GroupTree$2.iterator(GroupTree.java:317)
> >> > at org.apache.mahout.math.stats.TDigest.add(TDigest.java:105)
> >> >  at org.apache.mahout.math.stats.TDigest.add(TDigest.java:88)
> >> > at org.apache.mahout.math.stats.TDigest.add(TDigest.java:76)
> >> >  at
> >> >
> >>
> org.apache.mahout.math.stats.OnlineSummarizer.add(OnlineSummarizer.java:57)
> >> > at
> >> >
> >>
> org.apache.mahout.classifier.sgd.ValidateAdaptiveLogistic.mainToOutput(ValidateAdaptiveLogistic.java:107)
> >> >  at
> >> >
> >>
> org.apache.mahout.classifier.sgd.ValidateAdaptiveLogistic.main(ValidateAdaptiveLogistic.java:63)
> >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> >  at
> >> >
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> > at
> >> >
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> >  at java.lang.reflect.Method.invoke(Method.java:606)
> >> > at
> >> >
> >>
> org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
> >> >  at
> org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:144)
> >> > at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:195)
> >> >  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> > at
> >> >
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> >  at
> >> >
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> > at java.lang.reflect.Method.invoke(Method.java:606)
> >> >  at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
> >> >
> >> > I'll try some other tests to see what's working and what's not.
> >> >
> >> >
> >> >
> >> > 2014-03-06 15:58 GMT+01:00 Gokhan Capan <gkhn...@gmail.com>:
> >> >
> >> >> Kevin,
> >> >>
> >> >>
> >> >> From trunk, can you build mahout for hadoop2 using this command:
> >> >>
> >> >> mvn clean package -DskipTests=true
> >> -Dhadoop2.version=<YOUR_HADOOP2_VERSION>
> >> >>
> >> >>
> >> >> Then can you verify that you have the right hadoop jars with the
> >> following
> >> >> command:
> >> >>
> >> >> find . -name hadoop*.jar
> >> >>
> >> >>
> >> >>
> >> >> Gokhan
> >> >>
> >> >>
> >> >> On Thu, Mar 6, 2014 at 3:26 PM, Kevin Moulart <
> kevinmoul...@gmail.com
> >> >> >wrote:
> >> >>
> >> >> > Hi again, and thanks for the enthousiasm !
> >> >> >
> >> >> > I did compile the trunk with the hadoop2 profile and, althoug it
> >> didn't
> >> >> > work at first because of some Canopy tests not passing, when I
> skipped
> >> >> the
> >> >> > tests it compiled and when I tested it afterward it passed.
> >> >> > I used the version I have isntalled, so I just added the line :
> >> >> >     <hadoop2.version>2.0.0-cdh4.6.0</hadoop2.version>
> >> >> > To the pom.xml and type :
> >> >> > mvn -DskipTests clean install -Phadoop2
> >> >> > Then :
> >> >> > mvn test
> >> >> >
> >> >> > Then I tried it with these settings :
> >> >> > export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
> >> >> > export
> >> >> >
> >> >> >
> >> >>
> >>
> HADOOP_CLASSPATH=/home/myCompany/Downloads/mahout9/examples/target/mahout-examples-1.0-SNAPSHOT-job.jar
> >> >> > export MAHOUT_HOME=/home/myCompany/Downloads/mahout9
> >> >> >
> >> >> > And the command gives me this :
> >> >> > [root@node01 mahout9]# bin/mahout
> >> >> > MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
> >> >> > Running on hadoop, using
> >> /opt/cloudera/parcels/CDH/lib/hadoop/bin/hadoop
> >> >> > and HADOOP_CONF_DIR=/etc/hadoop/conf
> >> >> > MAHOUT-JOB:
> >> >> >
> >> >> >
> >> >>
> >>
> /home/myCompany/Downloads/mahout9/examples/target/mahout-examples-1.0-SNAPSHOT-job.jar
> >> >> > Exception in thread "main" java.lang.NoSuchMethodError:
> >> >> > org.apache.hadoop.util.ProgramDriver.driver([Ljava/lang/String;)V
> >> >> > at
> org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:122)
> >> >> >  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >> >> > at
> >> >> >
> >> >> >
> >> >>
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >> >> >  at
> >> >> >
> >> >> >
> >> >>
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> >> > at java.lang.reflect.Method.invoke(Method.java:606)
> >> >> >  at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
> >> >> >
> >> >> > I even tried with :
> >> >> > export HADOOP_HOME=/.../hadoop,
> >> >> > export HADOOP_HOME=/.../hadoop-0.20-mapreduce
> >> >> > export HADOOP_HOME=/.../hadoop-mapreduce
> >> >> >
> >> >> > And it still gives me the same result.
> >> >> >
> >> >> > And recompiling with  <hadoop2.version>2.0.0</hadoop2.version> or
> >> >> >  <hadoop2.version>2.0.0-mr1-cdh4.6.0</hadoop2.version> didn't work.
> >> >> >
> >> >> > Any idea ?
> >> >> >
> >> >> >
> >> >> >
> >> >> > 2014-03-05 22:42 GMT+01:00 Andrew Musselman <
> >> andrew.mussel...@gmail.com
> >> >> >:
> >> >> >
> >> >> > > I mean "balance the risk aversion against the value of new
> features"
> >> >> duh.
> >> >> > >
> >> >> > >
> >> >> > > On Wed, Mar 5, 2014 at 1:39 PM, Andrew Musselman <
> >> >> > > andrew.mussel...@gmail.com
> >> >> > > > wrote:
> >> >> > >
> >> >> > > > Yeah, for sure; balancing clients' risk aversion to technical
> >> >> features
> >> >> > is
> >> >> > > > why we often recommend vendor solutions.
> >> >> > > >
> >> >> > > > Having a little button to choose a newer version of a
> component in
> >> >> the
> >> >> > > > Manager UI (even with a confirmation dialog that said "Are you
> >> sure?
> >> >> > Are
> >> >> > > > you crazy?") would be more palatable to some teams than
> installing
> >> >> > > > tarballs, is what I'm getting at.
> >> >> > > >
> >> >> > > >
> >> >> > > > On Wed, Mar 5, 2014 at 1:30 PM, Sean Owen <sro...@gmail.com>
> >> wrote:
> >> >> > > >
> >> >> > > >> You can always install whatever version of anything on your
> >> cluster
> >> >> > > >> that you want. It may or may not work, but often happens to,
> at
> >> >> least
> >> >> > > >> for whatever you need it to do.
> >> >> > > >>
> >> >> > > >> It's just the same as it is without a packaged distribution --
> >> dump
> >> >> > > >> new tarballs and cross your fingers. Nothing is weird or
> >> different
> >> >> > > >> about the setup or layout. That is the "here be dragons"
> >> solution,
> >> >> > > >> already
> >> >> > > >>
> >> >> > > >> You go with support from a packaged distribution when you
> want a
> >> >> "here
> >> >> > > >> be no dragons" solution. Everything else is by definition
> already
> >> >> > > >> something you can and should do yourself outside of a packaged
> >> >> > > >> distribution. And really -- you freely can, and it's not
> hard, if
> >> >> you
> >> >> > > >> know what you are doing.
> >> >> > > >>
> >> >> > > >> On Wed, Mar 5, 2014 at 9:15 PM, Andrew Musselman
> >> >> > > >> <andrew.mussel...@gmail.com> wrote:
> >> >> > > >> > Feels like just yesterday :)
> >> >> > > >> >
> >> >> > > >> > Consider this a feature request to have more flexible
> component
> >> >> > > >> versioning,
> >> >> > > >> > even with a caveat/"here be dragons" warning.  I know that
> >> >> > complicates
> >> >> > > >> > things but people do use your releases a long time.  I
> >> personally
> >> >> > > >> wished I
> >> >> > > >> > could upgrade Pig on CDH 4 for new features but there was no
> >> >> simple
> >> >> > > way
> >> >> > > >> on
> >> >> > > >> > a managed cluster.
> >> >> > > >> >
> >> >> > > >> >
> >> >> > > >> > On Wed, Mar 5, 2014 at 12:12 PM, Sean Owen <
> sro...@gmail.com>
> >> >> > wrote:
> >> >> > > >> >
> >> >> > > >> >> I don't understand this -- CDH always bundles the latest
> >> release.
> >> >> > > >> >>
> >> >> > > >> >> You know that CDH4 was released in July 2012, right? So it
> >> >> included
> >> >> > > >> >> 0.7 + patches. CDH5 includes 0.8 because 0.9 was released
> >> about a
> >> >> > > >> >> month after it began beta 2.
> >> >> > > >> >>
> >> >> > > >> >> CDH follows semantic versioning and won't introduce changes
> >> that
> >> >> > are
> >> >> > > >> >> not backwards-compatible in a minor version update. 0.x
> >> releases
> >> >> of
> >> >> > > >> >> Mahout act like major version changes -- not backwards
> >> >> compatible.
> >> >> > So
> >> >> > > >> >> 4.x will always be 0.7 and 5.x will always be 0.8.
> >> >> > > >> >>
> >> >> > > >> >> On Wed, Mar 5, 2014 at 5:34 PM, Dmitriy Lyubimov <
> >> >> > dlie...@gmail.com>
> >> >> > > >> >> wrote:
> >> >> > > >> >> > On Wed, Mar 5, 2014 at 9:08 AM, Sean Owen <
> sro...@gmail.com
> >> >
> >> >> > > wrote:
> >> >> > > >> >> >
> >> >> > > >> >> >> I don't follow what here makes you say they are "cut
> down"
> >> >> > > releases?
> >> >> > > >> >> >>
> >> >> > > >> >> >
> >> >> > > >> >> > meaning it seems to be pretty much 2 releases behind the
> >> >> > official.
> >> >> > > >> But i
> >> >> > > >> >> > definitely don't follow CDH developments in this
> department,
> >> >> you
> >> >> > > >> seem in
> >> >> > > >> >> a
> >> >> > > >> >> > better position to explain the existing patchlevel there
> so
> >> I
> >> >> > defer
> >> >> > > >> to
> >> >> > > >> >> you
> >> >> > > >> >> > to explain why this patchlevel is not there.
> >> >> > > >> >> >
> >> >> > > >> >> > -d
> >> >> > > >> >>
> >> >> > > >>
> >> >> > > >
> >> >> > > >
> >> >> > >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Kévin Moulart
> >> >> > GSM France : +33 7 81 06 10 10
> >> >> > GSM Belgique : +32 473 85 23 85
> >> >> > Téléphone fixe : +32 2 771 88 45
> >> >> >
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Kévin Moulart
> >> > GSM France : +33 7 81 06 10 10
> >> > GSM Belgique : +32 473 85 23 85
> >> > Téléphone fixe : +32 2 771 88 45
> >>
>

Reply via email to