首页 > 解决方案 > Apache Flink:找不到指定执行的兼容工厂。目标(=本地)

问题描述

我决定尝试一下 apache flink。我决定使用 scala 控制台(或更准确地说是http://ammonite.io/)从 csv 文件中读取一些内容并在本地打印……只是为了调试结束实验。

import $ivy.`org.apache.flink:flink-csv:1.10.0`
import $ivy.`org.apache.flink::flink-scala:1.10.0`

import org.apache.flink.api.scala._
import org.apache.flink.api.scala.extensions._

val env = ExecutionEnvironment.createLocalEnvironment()
val lines = env.readCsvFile[(String, String, String)]("/home/slovic/Dokumenty/test.csv")
lines.collect()
//java.lang.NullPointerException: Cannot find compatible factory for specified execution.target (=local)
//org.apache.flink.util.Preconditions.checkNotNull(Preconditions.java:104)
//org.apache.flink.api.java.ExecutionEnvironment.executeAsync(ExecutionEnvironment.java:937)
//org.apache.flink.api.java.ExecutionEnvironment.execute(ExecutionEnvironment.java:860)
//org.apache.flink.api.java.ExecutionEnvironment.execute(ExecutionEnvironment.java:844)
//org.apache.flink.api.scala.ExecutionEnvironment.execute(ExecutionEnvironment.scala:495)
//org.apache.flink.api.scala.DataSet.collect(DataSet.scala:739)
//ammonite.$sess.cmd24$.<init>(cmd24.sc:1)
//ammonite.$sess.cmd24$.<clinit>(cmd24.sc)

我需要做什么才能在本地运行此代码?(使用 Scala 2.11 和 2.12 测试)

编辑:Piyush_Rana 的解决方案 我们需要额外的导入:

import $ivy.`org.apache.flink::flink-streaming-scala:1.10.0`  //Piyush_Rana's advice. !!!FIX!!!

标签: apache-flink

解决方案


你没有执行 flink 程序。

尝试在最后添加执行命令。

 env.execute("unique name")

推荐阅读