2017-10-26 3 views
0

私はFlinkを初めて使用していて、私はSocketWindowWordCountの例に従っていました。Flink Scala ClassNotFoundException:org.apache.flink.api.common.typeinfo.TypeInformation

私はスカラ座2.11.8とFLINK 1.3.2を使用して、私は次のコードを実行すると、EMR上でそれを実行しようとしています、それはエラーを投げた:

Caused by: java.lang.ClassNotFoundException: org.apache.flink.api.common.typeinfo.TypeInformation 

メインクラスは次のようになります。

私は import org.apache.flink.api.scala._およびにしようとした

scalaVersion := "2.11.8" 

val flinkVersion = "1.3.2" 

libraryDependencies ++= Seq(
    "org.apache.flink" %% "flink-scala" % flinkVersion, 
    "org.apache.flink" %% "flink-streaming-scala" % flinkVersion 
) 

import org.apache.flink.streaming.api.scala._ 
import org.apache.flink.streaming.api.windowing.time.Time 

object FlinkStreamingPOC { 

    def main(args: Array[String]) : Unit = { 
    val env = StreamExecutionEnvironment.getExecutionEnvironment 
    val stream = env.readTextFile("s3a://somebucket/prefix") 
    val counts = stream.flatMap{ _.split("\\W+") } 
     .map { (_, 1) } 
     .keyBy(0) 
     .timeWindow(Time.seconds(10)) 
     .sum(1) 

    counts.print 

    env.execute("Window Stream WordCount") 
    } 
} 

build.sbtは、このようになりますでも、同じエラーメッセージが表示されます。ありがとう!

+0

をコピーする必要があり、必要なすべてのjarファイルは、 ' org.apache.flinkを追加しようとしている FLINKコア 1.3.2 '、TypeInformationは実際にこのパッケージに含まれています。 – David

答えて

0

基本的には/libフォルダにjarファイルを追加するのと同じ問題が発生している可能性があります。詳細はhereを参照してください。 Amazon EMRの場合、あなたはflink Dashboardを使用しています。あなたが/optを見ることができるようにあなたがlibフォルダに

enter image description here