Apache flink Flink SQL中跳跃窗口上的指数衰减移动平均数:施法时间

Apache flink Flink SQL中跳跃窗口上的指数衰减移动平均数:施法时间,apache-flink,flink-streaming,windowing,apache-calcite,flink-sql,Apache Flink,Flink Streaming,Windowing,Apache Calcite,Flink Sql,现在,我们在Flink中使用了具有奇特窗口的SQL,我正试图通过在未来的Flink版本中可能出现的表API和SQL来引用衰减的移动平均值。从他们的: 以下是我的尝试,灵感来自: 时间是处理时间,通过从AppendStream表创建write_位置,我们得到的时间为proctime,如下所示: tEnv.registerTable( "write_position", tEnv.fromDataStream(appendStream, "lb_index, Y, proctime

现在,我们在Flink中使用了具有奇特窗口的SQL,我正试图通过在未来的Flink版本中可能出现的表API和SQL来引用衰减的移动平均值。从他们的:

以下是我的尝试,灵感来自:

时间是处理时间,通过从AppendStream表创建write_位置,我们得到的时间为proctime,如下所示:

tEnv.registerTable(
    "write_position", 
    tEnv.fromDataStream(appendStream, "lb_index, Y, proctime.proctime"))
我得到了这个错误:

Cannot apply '-' to arguments of type '<TIME ATTRIBUTE(PROCTIME)> - <TIME ATTRIBUTE(PROCTIME)>'. 
Supported form(s): '<NUMERIC> - <NUMERIC>' '<DATETIME_INTERVAL> - <DATETIME_INTERVAL>' '<DATETIME> - <DATETIME_INTERVAL>'
我试着将proctime应用到我所知道的每一种类型上,试图达到数字承诺之地,但我就是找不到如何让它发挥作用


我错过什么了吗?proctime是一种非常特殊的“系统更改编号”时间,您无法转换吗?如果是这样的话,还必须有某种方法将其与HOP_startprocttime进行比较,。。。值。

您可以使用timestampDiff减去两个时间点,请参见。你是这样用的

TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)
其中时间点单位可以是秒、分钟、小时、天、月或年


我还没有在处理时间方面尝试过这个方法,但它确实适用于事件时间字段,所以希望它能起作用。

效果很好,非常感谢!我被另一件事缠住了:不过我不想太打扰你。开始觉得我可能需要付费的Flink培训哈哈;
Cannot apply '-' to arguments of type '<TIME ATTRIBUTE(PROCTIME)> - <TIME ATTRIBUTE(PROCTIME)>'. 
Supported form(s): '<NUMERIC> - <NUMERIC>' '<DATETIME_INTERVAL> - <DATETIME_INTERVAL>' '<DATETIME> - <DATETIME_INTERVAL>'
TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)