当前位置: 首页 > 面试题库 >

Flink中的java.lang.NoSuchMethodError

屈晨
2023-03-14
问题内容

我试图使用读取文件:

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<String> line = env.readTextFile("file:///pathtofile/myfile.txt");

我收到以下错误:

java.lang.NoSuchMethodError: org.apache.flink.api.common.io.DelimitedInputFormat: method <init>(Lorg/apache/flink/core/fs/Path;)V not found

我正在使用flink版本1.3.2,java版本“ 1.8.0_91”


问题答案:

错误“ java.lang.NoSuchMethodError”的可能原因之一是当我们使用的flink版本与系统上安装的版本不同时。对我来说,我有Flink
1.3.2,我使用的版本是1.1.1。因此,我将pom文件更新为相同的版本。



 类似资料:
  • 我们正在使用几个操作符运行Flink作业,包括map、windowing、flatMap(),作业失败,出现以下错误-只是想知道是什么原因导致此错误:

  • null 其中lambda1、2等是条件检查函数,例如 但不知什么原因对我不起作用,也许还有其他方法?正如我从文档(https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/side_output.html)中了解到的,OutputTag用于创建标记为tag的附加消息。还是我错了?

  • 我正在使用ApacheFlink-1.1.3进行实时流数据分析。我的系统由用于消息队列的Kafka集群、从Kafka分区读取消息并对其进行分析的Flink集群组成,最后我希望将生成的数据转储到Ignite缓存中。对于系统,我使用IgniteSink类将数据放入ignite缓存。版本如下: Flink1.1.3, Kafka2.10,点燃2.0.0 当我试图在flink cluster上运行作业时,

  • 我想使用大小为2的FIFO队列来存储数据流的元素。在任何情况下,我都需要流中的前一个元素,而不是当前元素。为此,我在流代码之外创建了一个队列,并将当前元素加入队列。当我的队列有两个元素时,我将其出列并使用第一个元素。 我面临的问题是,我不能加入队列,因为它是在我的流代码之外声明的。我想这是因为流使用多个JVM,我的队列将在一个JVM中声明。 下面是一个示例代码: 在这里,没有任何东西进入队列,队列

  • 是否可以在Apache Flink中使用已经成批训练的模型对dataStream进行预测? 支持向量机的预测功能需要一个数据集作为输入,而不需要一个数据集。 不幸的是,我不知道如何使用FlatpMap/Map函数使其工作。 我是这样训练SVM模型的: val svm2=SVM() svm2.setseed(1) svm2.fit(trainLV) val testVD=testlv.map(lv=

  • 通过stream API,我可以编写一个RichCoFlatMapFunction来接受一个控制流和一个数据流,控制流中包含了启动、停止或改变参数的计算元素,我知道我可以存储当前控制设置的状态,并在处理数据流时检查值。 但是用Flink SQL做类似的事情的方法是什么呢?我不能使用join,因为数据流和控制流不能连接在一起。 我们提出的解决方案是通过应用程序本身存储控件设置。其想法是: > 将控制