Try adding the provided scopes <dependency> <!-- Spark dependency --> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.4.0</version>
* <scope>provided</scope> * </dependency> <dependency> <!-- Spark Streaming dependency --> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.10</artifactId> <version>1.4.0</version> * <scope>provided</scope> * </dependency> This prevents these artifacts from being included in the assembly JARs. See scope https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope On Mon, Jun 22, 2015 at 10:28 AM, Nipun Arora <nipunarora2...@gmail.com> wrote: > Hi Tathagata, > > I am attaching a snapshot of my pom.xml. It would help immensely, if I can > include max, and min values in my mapper phase. > > The question is still open at : > http://stackoverflow.com/questions/30902090/adding-max-and-min-in-spark-stream-in-java/30909796#30909796 > > I see that there is a bug report filed for a similar error as well: > https://issues.apache.org/jira/browse/SPARK-3266 > > Please let me know, how I can get the same version of spark streaming in > my assembly. > I am using the following spark version: > http://www.apache.org/dyn/closer.cgi/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.6.tgz > .. no compilation, just an untar and use the spark-submit script in a local > install. > > > I still get the same error. > > Exception in thread "JobGenerator" java.lang.NoSuchMethodError: > org.apache.spark.api.java.JavaPairRDD.max(Ljava/util/Comparator;)Lscala/Tuple2; > > <dependencies> > <dependency> <!-- Spark dependency --> > <groupId>org.apache.spark</groupId> > <artifactId>spark-core_2.10</artifactId> > <version>1.4.0</version> > </dependency> > <dependency> <!-- Spark Streaming dependency --> > <groupId>org.apache.spark</groupId> > <artifactId>spark-streaming_2.10</artifactId> > <version>1.4.0</version> > </dependency> > > Thanks > > Nipun > > > On Thu, Jun 18, 2015 at 11:16 PM, Nipun Arora <nipunarora2...@gmail.com> > wrote: > >> Hi Tathagata, >> >> When you say please mark spark-core and spark-streaming as dependencies >> how do you mean? >> I have installed the pre-build spark-1.4 for Hadoop 2.6 from spark >> downloads. In my maven pom.xml, I am using version 1.4 as described. >> >> Please let me know how I can fix that? >> >> Thanks >> Nipun >> >> On Thu, Jun 18, 2015 at 4:22 PM, Tathagata Das <t...@databricks.com> >> wrote: >> >>> I think you may be including a different version of Spark Streaming in >>> your assembly. Please mark spark-core nd spark-streaming as provided >>> dependencies. Any installation of Spark will automatically provide Spark in >>> the classpath so you do not have to bundle it. >>> >>> On Thu, Jun 18, 2015 at 8:44 AM, Nipun Arora <nipunarora2...@gmail.com> >>> wrote: >>> >>>> Hi, >>>> >>>> I have the following piece of code, where I am trying to transform a >>>> spark stream and add min and max to it of eachRDD. However, I get an error >>>> saying max call does not exist, at run-time (compiles properly). I am using >>>> spark-1.4 >>>> >>>> I have added the question to stackoverflow as well: >>>> http://stackoverflow.com/questions/30902090/adding-max-and-min-in-spark-stream-in-java/30909796#30909796 >>>> >>>> Any help is greatly appreciated :) >>>> >>>> Thanks >>>> Nipun >>>> >>>> JavaPairDStream<Tuple2<Long, Integer>, Tuple3<Integer,Long,Long>> >>>> sortedtsStream = transformedMaxMintsStream.transformToPair(new Sort2()); >>>> >>>> sortedtsStream.foreach( >>>> new Function<JavaPairRDD<Tuple2<Long, Integer>, Tuple3<Integer, >>>> Long, Long>>, Void>() { >>>> @Override >>>> public Void call(JavaPairRDD<Tuple2<Long, Integer>, >>>> Tuple3<Integer, Long, Long>> tuple2Tuple3JavaPairRDD) throws Exception { >>>> List<Tuple2<Tuple2<Long, Integer>, >>>> Tuple3<Integer,Long,Long>> >templist = tuple2Tuple3JavaPairRDD.collect(); >>>> for(Tuple2<Tuple2<Long,Integer>, >>>> Tuple3<Integer,Long,Long>> tuple :templist){ >>>> >>>> Date date = new Date(tuple._1._1); >>>> int pattern = tuple._1._2; >>>> int count = tuple._2._1(); >>>> Date maxDate = new Date(tuple._2._2()); >>>> Date minDate = new Date(tuple._2._2()); >>>> System.out.println("TimeSlot: " + date.toString() + " >>>> Pattern: " + pattern + " Count: " + count + " Max: " + maxDate.toString() >>>> + " Min: " + minDate.toString()); >>>> >>>> } >>>> return null; >>>> } >>>> } >>>> ); >>>> >>>> Error: >>>> >>>> >>>> 15/06/18 11:05:06 INFO BlockManagerInfo: Added input-0-1434639906000 in >>>> memory on localhost:42829 (size: 464.0 KB, free: 264.9 MB)15/06/18 >>>> 11:05:06 INFO BlockGenerator: Pushed block input-0-1434639906000Exception >>>> in thread "JobGenerator" java.lang.NoSuchMethodError: >>>> org.apache.spark.api.java.JavaPairRDD.max(Ljava/util/Comparator;)Lscala/Tuple2; >>>> at >>>> org.necla.ngla.spark_streaming.MinMax.call(Type4ViolationChecker.java:346) >>>> at >>>> org.necla.ngla.spark_streaming.MinMax.call(Type4ViolationChecker.java:340) >>>> at >>>> org.apache.spark.streaming.api.java.JavaDStreamLike$class.scalaTransform$3(JavaDStreamLike.scala:360) >>>> at >>>> org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$transformToPair$1.apply(JavaDStreamLike.scala:361) >>>> at >>>> org.apache.spark.streaming.api.java.JavaDStreamLike$$anonfun$transformToPair$1.apply(JavaDStreamLike.scala:361) >>>> at >>>> org.apache.spark.streaming.dstream.DStream$$anonfun$transform$1$$anonf >>>> >>>> >>> >> >