问题原因:table转成stream,table中字段要和stream字段类型一致,如果不一致,就会报上述的错误。其实就是table是什么类型,转回流时还是必须这个类型。
示例:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tableEnv = StreamTableEnvironment.getTableEnvironment(env);
DataStream<Tuple2<String, String>> sourceStream = env.addSource(kafkaSource);
//注册表时时两个字段
Table table = tableEnv.registerDataStream("tableName", sourceStream);
//转成流时类型为tuple1,只有一个字段,不匹配,应转成tuple2
DataStream<Tuple1<String>> sinkStream = tableEnv.toAppendStream(table, Tuple1<String>.class);