使用带有自定义对象数组的数据集时 Flink 中的 NoSuchMethod 异常
NoSuchMethod exception in Flink when using dataset with custom object array
我对 Flink 有疑问
java.lang.NoSuchMethodError: org.apache.flink.api.java.typeutils.ObjectArrayTypeInfo.getInfoFor(Lorg/apache/flink/api/common/typeinfo/TypeInformation;)Lorg/apache/flink/api/java/typeutils/ObjectArrayTypeInfo;
at LowLevel.FlinkImplementation.FlinkImplementation$$anon.<init>(FlinkImplementation.scala:28)
at LowLevel.FlinkImplementation.FlinkImplementation.<init>(FlinkImplementation.scala:28)
at IRLogic.GmqlServer.<init>(GmqlServer.scala:15)
at it.polimi.App$.main(App.scala:20)
at it.polimi.App.main(App.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
有问题的是这一行
implicit val regionTypeInformation =
api.scala.createTypeInformation[FlinkDataTypes.FlinkRegionType]
在 FlinkRegionType
我有一个 Array
自定义对象
我使用 IDE 中的 maven 插件开发了该应用程序,一切正常,但是当我转到从网站下载的版本时,出现了上述错误
我正在使用 Flink 0.9
我在想可能缺少某些库,但我正在使用 maven 来处理所有事情。而且运行通过ObjectArrayTypeInfo.java的代码好像不是问题
A NoSuchMethodError
通常表示编译 Flink 程序的库与执行该程序的系统之间的版本不匹配。特别是如果相同的代码在编译和执行库相同的 IDE 设置中工作。
在这种情况下,您应该检查 Flink 依赖项的版本,例如在 Maven POM 文件中。
我对 Flink 有疑问
java.lang.NoSuchMethodError: org.apache.flink.api.java.typeutils.ObjectArrayTypeInfo.getInfoFor(Lorg/apache/flink/api/common/typeinfo/TypeInformation;)Lorg/apache/flink/api/java/typeutils/ObjectArrayTypeInfo;
at LowLevel.FlinkImplementation.FlinkImplementation$$anon.<init>(FlinkImplementation.scala:28)
at LowLevel.FlinkImplementation.FlinkImplementation.<init>(FlinkImplementation.scala:28)
at IRLogic.GmqlServer.<init>(GmqlServer.scala:15)
at it.polimi.App$.main(App.scala:20)
at it.polimi.App.main(App.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
有问题的是这一行
implicit val regionTypeInformation =
api.scala.createTypeInformation[FlinkDataTypes.FlinkRegionType]
在 FlinkRegionType
我有一个 Array
自定义对象
我使用 IDE 中的 maven 插件开发了该应用程序,一切正常,但是当我转到从网站下载的版本时,出现了上述错误
我正在使用 Flink 0.9
我在想可能缺少某些库,但我正在使用 maven 来处理所有事情。而且运行通过ObjectArrayTypeInfo.java的代码好像不是问题
A NoSuchMethodError
通常表示编译 Flink 程序的库与执行该程序的系统之间的版本不匹配。特别是如果相同的代码在编译和执行库相同的 IDE 设置中工作。
在这种情况下,您应该检查 Flink 依赖项的版本,例如在 Maven POM 文件中。