sql - 如何使用 Flink 1.9 LAST_VALUE?
问题描述
我正在尝试使用 Flink 的 1.9 LAST_VALUE。与阿里巴巴文档不同,它不接受 ORDER 的第二个参数,也不喜欢 OVER(...) 子句。所以,我不确定,如何输入 LAST_VALUE 一个标准?
我希望如果您将处理设置为“事件时间”,last_value 将返回基于事件时间的最新值,而是返回读取的最新值?
解决方案
该功能LAST_VALUE
仅在 Flink 上运行 SQL 时由 Blink Planner 支持。需要通过以下方式显式激活 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 查询。
推荐阅读
- javascript - Javascript数组排序常规字符串和数字字符串
- spring-boot - 管理用户重定向 Spring Security
- javascript - Wordpress 站点中存在无法访问的 Javascript http://10.165.197.8:9090/tlbsgui/baseline/scg.js
- angular - 我是否设置了其他任何东西来使 Web api 工作?
- google-bigquery - 如何为 BigQuery 数据传输服务定义 TransferConfig
- json - Pyspark:将 JSON 加载到 DataFrame
- typescript - How to call Transaction.update using strongly typed UpdateData type
- python - 使用 Selenium 单击 HTML 元素时遇到问题
- dma - PWM 可以触发 Atmel SAM3X 上的 DMAC 存储器读取吗?
- python - 获取 Exchange 分发列表成员的电子邮件地址 - Python