Apache Flink:找不到指定执行的兼容工厂.目标(=本地) [英] Apache Flink: Cannot find compatible factory for specified execution.target (=local)

查看:29
本文介绍了Apache Flink:找不到指定执行的兼容工厂.目标(=本地)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've decided to experiment with apache flink a bit. I decided to use scala console (or more precisely http://ammonite.io/) to read some stuff from csv file and print it locally... just to debug end experiments.

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 测试)

What I need to do to run this code locally? (tested with scala 2.11 & 2.12)

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

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

推荐答案

我也遇到了同样的错误,并发现缺少一个依赖项 -

I also got the same error and figured out that was missing one dependency -

val flinkVersion = "1.10.0"
"org.apache.flink" %% "flink-streaming-scala" % flinkVersion,

或者在菊石repl中:

or in ammonite repl:

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

这篇关于Apache Flink:找不到指定执行的兼容工厂.目标(=本地)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆