Flink - Таблица SQL API - Добавить столбец в таблицу
Интересно, есть ли способ добавить столбец с постоянным значением в таблицу во Flink (Java API), что-то вроде функции.withColumn в Spark DF/DS?
С уважением, Бастьен
1 ответ
Решение
Если вы находитесь в среде Java, это можно сделать с помощью простого SELECT
запрос и регистрация полученного Table
в каталоге.
// add constant column
Table withColumn = tEnv.sqlQuery("SELECT a, b, c, 'MyConstant' AS d FROM origTable");
// register new table
tEnv.registerTable("tableWithColumn", withColumn);
// query table with constant column
Table result = tEnv.sqlQuery("SELECT * FROM tableWithColumn");
Первый SQL-запрос выполняется не сразу. Это больше похоже на определение представления, которое автоматически вставляется и оптимизируется вместе со вторым запросом перед выполнением.