我正在尝试使用 Flink 的 1.9 LAST_VALUE。与阿里巴巴文档不同,它不接受 ORDER 的第二个参数,也不喜欢 OVER(...( 子句。那么,我不确定,如何输入LAST_VALUE标准?
我希望如果您将处理设置为"事件时间",last_value会根据事件时间返回最新值,但相反,它会返回最新读取的值?
函数LAST_VALUE
仅在 Flink 上运行 SQL 时由 Blink 规划器支持。需要通过以下方式显式激活Blink计划器的使用
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.EnvironmentSettings;
import org.apache.flink.table.api.java.StreamTableEnvironment;
StreamExecutionEnvironment bsEnv = StreamExecutionEnvironment.getExecutionEnvironment();
EnvironmentSettings bsSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();
StreamTableEnvironment bsTableEnv = StreamTableEnvironment.create(bsEnv, bsSettings);
只有这样,您才应该能够运行包含LAST_VALUE
函数的 SQL 查询。