我想知道是否有一种方法可以向Flink(Java API)中的表添加常量值的列,就像Spark DF / DS中的.withColumn函数吗?
关于, 巴斯蒂安
答案 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查询未立即执行。它更类似于视图定义,该视图定义将在执行之前与第二个查询一起自动内联和优化。