Flink-表SQL API-向表中添加列

时间:2018-08-08 13:33:14

标签: apache-flink flink-sql

我想知道是否有一种方法可以向Flink(Java API)中的表添加常量值的列,就像Spark DF / DS中的.withColumn函数吗?

关于, 巴斯蒂安

1 个答案:

答案 0 :(得分:2)

如果您在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查询未立即执行。它更类似于视图定义,该视图定义将在执行之前与第二个查询一起自动内联和优化。