de
窗口是cdc表。
sql:
select organization_id,window_start,window_end,count(1) as cnt
from TABLE(TUMBLE(TABLE t_window,descriptor(took_at),interval '1' days))
group by organization_id,window_start,window_end;
错误:
org.apache.flink.table.api.TableException:StreamPhysicalWindowAggregate不支持使用由节点TableSourceScan生成的更新和删除更改(table=[[emr_hive,default,t_window]],fields=[id,organization_id,took_at](。
请帮忙!
我认为Flink的窗口表值函数不支持包含缩进(更新和删除(的输入——它们只支持仅追加流。另一方面,GROUP BY窗口确实支持这一点,但仅在Flink 1.14之后才支持。
所以我建议你转换成像这样的查询
select
organization_id,
TUMBLE_START(took_at, interval '1' hour),
TUMBLE_END(took_at, interval '1' hour),
count(1) as cnt
from t_window
group by organization_id, TUMBLE(took_at, interval '1' hour);
如果你还没有使用它,可以升级到Flink 1.14。
请参阅https://issues.apache.org/jira/browse/FLINK-20487了解更多信息。