如何在Apache Flink中注册java.util.List类型
是否可以对如何在Apache Flink中注册java.util.List类型,java,apache-flink,flink-streaming,Java,Apache Flink,Flink Streaming,是否可以对java.util.List或其他集合类型使用Environment#registerType? 如果我这样做: 我仍然得到,ExecutionConfig中的泛型类型已被禁用,类型java.util.List被视为泛型类型。 我确实想做的是,但由于类型擦除,在Java中不可能做到的是: StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.getConfi
java.util.List
或其他集合类型使用Environment#registerType
?
如果我这样做:
我仍然得到,ExecutionConfig中的泛型类型已被禁用,类型java.util.List被视为泛型类型。
我确实想做的是,但由于类型擦除,在Java中不可能做到的是:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.getConfig().disableGenericTypes();
env.registerType(List<MyClass>.class);
StreamExecutionEnvironment env=StreamExecutionEnvironment.getExecutionEnvironment();
env.getConfig().disableGenericTypes();
环境注册表类型(List.class);
不幸的是,我在文档或使用搜索引擎中找不到解决方案。如何实现
List
like
class MyClassList implements List<MyClass> {
...
}
类MyClassList实现列表{
...
}
然后您可以使用Specific注册Type Type
MyClassList
为什么先禁用泛型类型,然后注册泛型类型?我不想要泛型类型。如果可能的话,我想注册特定的类型。类似于env.registerType(List.class)
。但是,由于类型擦除,这在Java中是不可能的。我已经相应地编辑了这个问题。目前我认为我没有正确使用Flink,不应该传递Java.util.List
对象。不过,我会尽快尝试你的建议,如果可行,我会给你打勾。
class MyClassList implements List<MyClass> {
...
}