scala中的flink批处理无输出

问题描述

我正在用 flink scala 编写一个简单的程序,它显示消费 (csm) 超过某个阈值 (100) 的客户的姓名和 ID。程序编译成功完成,但是我有以下异常,我没有看到输出。我使用的是 IDE IntelliJ。

任何帮助.. 谢谢。

class Client(val name: String,val id:String,val csm: Int) {
  var name_ :String = name;
  var id_ : String = id;
  var csm_ : Int = csm;

  override def toString():String =
  {
   return "Name = " + name_.toString()+".." + "Id = " +id_.toString()
  }

}
object BatchJob {

  val thresold = 100;

  def main(args: Array[String]) {
    // set up the batch execution environment
    val env = ExecutionEnvironment.getExecutionEnvironment

    val client_sample : DataSet[Client] = env.fromElements[Client](
      new Client("Ali Ahmed","Or70110233",150),new Client("Jean David","Alg90030456",80),new Client("Ann Hathayway","Msr65120289",130)
    );

    val client_excess: DataSet[Client] = client_sample.filter(p => p.csm> thresold);

    client_excess.print();


    // execute program
    env.execute("Flink Batch Scala API Skeleton")
  }
}

Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Seq
    at flinkpack.BatchJob.main(BatchJob.scala)
Caused by: java.lang.classNotFoundException: scala.collection.Seq
    at java.net.urlclassloader.findClass(urlclassloader.java:382)
    at java.lang.classLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.classLoader.loadClass(ClassLoader.java:351)
    ... 1 more

Process finished with exit code 1

解决方法

我找到了我的 pb 的解决方案,事实上我们需要做的就是去 项目结构 -> 模块 -> 依赖 将库从“提供”状态转换为“编译”状态。