You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Vishnu Viswanath <vi...@gmail.com> on 2016/03/07 21:33:56 UTC

NoSuchMethodError flatMap

Hi All,

After successfully writing the wordcount program, I was trying to create a
streaming application but is getting below error when submitting the job in
local mode.

        Vishnus-MacBook-Pro:flink vishnu$ flink run
target/scala-2.11/flink-vishnu_2.11-1.0.jar

java.lang.NoSuchMethodError:
org.apache.flink.streaming.api.scala.DataStream.flatMap(Lscala/Function1;Lorg/apache/flink/api/common/typeinfo/TypeInformation;)Lorg/apache/flink/streaming/api/scala/DataStream;

    at com.vishnu.flink.streaming.FlinkStreamingWordCount$.main(FlinkStreamingWordCount.scala:14)

    at com.vishnu.flink.streaming.FlinkStreamingWordCount.main(FlinkStreamingWordCount.scala)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:497)

    at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:497)

    at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:395)

    at org.apache.flink.client.program.Client.runBlocking(Client.java:252)

    at org.apache.flink.client.CliFrontend.executeProgramBlocking(CliFrontend.java:676)

    at org.apache.flink.client.CliFrontend.run(CliFrontend.java:326)

    at org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:978)

    at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1028)



The exception above occurred while trying to run your command.

This is my FlinkStreamingWordCount.scala file

package com.vishnu.flink.streaming
 import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import org.apache.flink.api.scala._


object FlinkStreamingWordCount {

    def main(args: Array[String])  {

    val sev = StreamExecutionEnvironment.getExecutionEnvironment

    val socTxtStream = sev.socketTextStream("localhost",4444)

    val counts = socTxtStream.flatMap(line => line.split(" ") )

      .map { (_, 1) }

      .keyBy(0)

      .sum(1)

    counts.print()

    sev.execute()

  }

}

This is how my sbt file looks like

val flink = "org.apache.flink" % "flink-core" % "1.0.0"
val flinkclients = "org.apache.flink" % "flink-clients_2.11" % "1.0.0"
val flinkstreaming = "org.apache.flink" % "flink-streaming-scala_2.11" % "1.0.0"

val main = "com.vishnu.flink.streaming.FlinkStreamingWordCount"

name := "flink-vishnu"
mainClass in (Compile, run) := Some(main)
mainClass in (Compile, packageBin) := Some(main)

lazy val commonSettings = Seq(
  organization := "com.vishnu",
  version := "1.0",
  scalaVersion := "2.11.7"
)

lazy val root = (project in file(".")).
  settings(commonSettings:_*).
  settings(
    name := "flink-vishnu",
    libraryDependencies += flink,
    libraryDependencies += flinkclients,
    libraryDependencies += flinkstreaming,
    retrieveManaged := true
  )

I m using scala 2.11.7, and have downloaded Flink for scala 2.11

Any help is appreciated

Thanks,
Vishnu
​

Re: NoSuchMethodError flatMap

Posted by Vishnu Viswanath <vi...@gmail.com>.
Fixed this,

error was due to miss match between my flink version installed and the one
I mentioned in my sbt file.

On Mon, Mar 7, 2016 at 2:33 PM, Vishnu Viswanath <
vishnu.viswanath25@gmail.com> wrote:

> Hi All,
>
> After successfully writing the wordcount program, I was trying to create a
> streaming application but is getting below error when submitting the job in
> local mode.
>
>         Vishnus-MacBook-Pro:flink vishnu$ flink run target/scala-2.11/flink-vishnu_2.11-1.0.jar
>
> java.lang.NoSuchMethodError: org.apache.flink.streaming.api.scala.DataStream.flatMap(Lscala/Function1;Lorg/apache/flink/api/common/typeinfo/TypeInformation;)Lorg/apache/flink/streaming/api/scala/DataStream;
>
>     at com.vishnu.flink.streaming.FlinkStreamingWordCount$.main(FlinkStreamingWordCount.scala:14)
>
>     at com.vishnu.flink.streaming.FlinkStreamingWordCount.main(FlinkStreamingWordCount.scala)
>
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>     at java.lang.reflect.Method.invoke(Method.java:497)
>
>     at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:497)
>
>     at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:395)
>
>     at org.apache.flink.client.program.Client.runBlocking(Client.java:252)
>
>     at org.apache.flink.client.CliFrontend.executeProgramBlocking(CliFrontend.java:676)
>
>     at org.apache.flink.client.CliFrontend.run(CliFrontend.java:326)
>
>     at org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:978)
>
>     at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1028)
>
>
>
> The exception above occurred while trying to run your command.
>
> This is my FlinkStreamingWordCount.scala file
>
> package com.vishnu.flink.streaming
>  import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
> import org.apache.flink.api.scala._
>
>
> object FlinkStreamingWordCount {
>
>     def main(args: Array[String])  {
>
>     val sev = StreamExecutionEnvironment.getExecutionEnvironment
>
>     val socTxtStream = sev.socketTextStream("localhost",4444)
>
>     val counts = socTxtStream.flatMap(line => line.split(" ") )
>
>       .map { (_, 1) }
>
>       .keyBy(0)
>
>       .sum(1)
>
>     counts.print()
>
>     sev.execute()
>
>   }
>
> }
>
> This is how my sbt file looks like
>
> val flink = "org.apache.flink" % "flink-core" % "1.0.0"
> val flinkclients = "org.apache.flink" % "flink-clients_2.11" % "1.0.0"
> val flinkstreaming = "org.apache.flink" % "flink-streaming-scala_2.11" % "1.0.0"
>
> val main = "com.vishnu.flink.streaming.FlinkStreamingWordCount"
>
> name := "flink-vishnu"
> mainClass in (Compile, run) := Some(main)
> mainClass in (Compile, packageBin) := Some(main)
>
> lazy val commonSettings = Seq(
>   organization := "com.vishnu",
>   version := "1.0",
>   scalaVersion := "2.11.7"
> )
>
> lazy val root = (project in file(".")).
>   settings(commonSettings:_*).
>   settings(
>     name := "flink-vishnu",
>     libraryDependencies += flink,
>     libraryDependencies += flinkclients,
>     libraryDependencies += flinkstreaming,
>     retrieveManaged := true
>   )
>
> I m using scala 2.11.7, and have downloaded Flink for scala 2.11
>
> Any help is appreciated
>
> Thanks,
> Vishnu
> ​
>