在flatMap中使用Flink Table API获取序列化异常

时间:2016-08-15 06:44:06

标签: apache-flink

我试图通过将flink env对象传递给flatMap对象来在flatMap中使用表api。但我得到了序列化异常,它告诉我添加了一些无法序列化的字段。

你能否对此有所了解?

此致 Sajeev

1 个答案:

答案 0 :(得分:2)

您无法将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