java 在Flink表中添加列

h7appiyu  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(319)

我尝试在Java中向flink表添加一个新列

Table table = tEnv.sqlQuery(query.getQuery());
table = table.addColumns($("NewColumn"));

但我遇到了一个问题

org.apache.flink.table.api.ValidationException: Cannot resolve field [NewColumn], input field list:[ExistingColumn1, ExistingColumn2, ...].

我在flink文档中看到了一个类似的例子,所以我不确定我在这里做错了什么。
我尝试在调试器中运行代码,但在resolve方法中似乎失败了

b5lpy0ml

b5lpy0ml1#

您正试图将一个现有列“NewColumn”作为新列添加到表中!由于此列尚未存在,它显示“无法解析字段[NewColumn],输入字段列表”。请看文档中的示例。此处列“c”已存在于表中。

Table result = orders.addOrReplaceColumns(concat($("c"), "sunny").as("desc"));

您应该给予运算式.,然后可以使用.as()做为数据行名称。

Table addColumns(Expression... fields);

相关问题