我试图通过将flink env对象传递给flatMap对象来使用flatMap内部的表api。但是我得到了序列化异常,它告诉我添加了一些不能序列化的字段。
你能解释一下吗?
问候,Sajeev
不能将ExecutionEnvironment
传递给Function
。就像把Flink传给Flink一样。
Table API是DataSet
/DataStream
API之上的抽象。如果你想同时使用Table API和底层API,你可以使用TableEnvironment#toDataSet/fromDataSet
在API之间切换,甚至在DataSet操作符之间。
DataSet<Integer> ds = env.fromElements(1, 2, 3);
BatchTableEnvironment tEnv = TableEnvironment.getTableEnvironment(env);
Table t = tEnv.fromDataSet(ds, "intCol"); // continue in Table API
Table t2 = t.select("intCol.cast(STRING)"); // do something with table
DataSet<String> ds2 = tEnv.toDataSet(t2); // continue in DataSet API