2016-08-15 3 views
0

Я пытался использовать таблицу api внутри flatMap, передав объект flink env объекту flatMap. Но я получаю исключение сериализации, которое говорит, что я добавил какое-то поле, которое не может быть сериализуемым.Использование API Flink Table внутри flatMap Получение исключения для сериализации

Не могли бы вы рассказать об этом?

С уважением, Sajeev

ответ

2

Вы не можете передать ExecutionEnvironment в Function. Это будет похоже на передачу Флинка во Флинк.

API таблицы представляет собой абстракцию поверх API-интерфейсов DataSet/DataStream. Если вы хотите использовать 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 
+1

«Это будет похоже на переход Флинка во Флинк». :) –

+0

Понял. Так можно ли использовать API таблицы внутри flatMap ?. – Sajeev

Смежные вопросы