问题描述
我正在用 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 的解决方案,事实上我们需要做的就是去 项目结构 -> 模块 -> 依赖 将库从“提供”状态转换为“编译”状态。