请教下 last_value()是不支持上面写法吗,那怎么过滤null

3277问.png

展开
收起
游客3oewgrzrf6o5c 2022-08-18 16:18:16 488 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在Flink中,last_value()函数用于返回分组内最后一行的某个字段的值,可以用于实现滑动窗口内某个字段的累计计算。如果您使用last_value()函数时出现错误,可能是由于函数的使用方式不正确或者Flink版本不支持该函数。

    根据您提供的SQL语句,似乎缺少了OVER子句中的窗口定义,导致last_value()函数无法正常使用。您可以尝试修改SQL语句,为OVER子句添加窗口定义,例如:

    sql_more Copy SELECT userId, last_value(price) OVER ( PARTITION BY userId ORDER BY row_time RANGE BETWEEN INTERVAL '1' HOUR PRECEDING AND CURRENT ROW ) AS last_price FROM source_table; 在这个示例中,我们为last_value()函数的OVER子句添加了窗口定义,指定了分区键、排序键和窗口大小。其中,PARTITION BY子句指定了分区键为userId,ORDER BY子句指定了排序键为row_time,RANGE BETWEEN子句指定了窗口大小为1小时。

    需要注意的是,last_value()函数的使用方式取决于您的具体业务需求和Flink版本。如果您使用的是较早的Flink版本

    2023-06-18 08:05:17 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等