微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flink TableAPI 中后续的窗口化分组导致 RuntimeException

如何解决Flink TableAPI 中后续的窗口化分组导致 RuntimeException

我正在开发一个使用 Apache Flink 的 Table API (1.12.0) 对图形流进行分组/汇总的项目。在我们的算法中,我们首先处理顶点,即对它们进行分组并聚合一些属性。这是我的应用程序的片段:

Table table1 = vertices
    .window(Tumble.over(lit(10).seconds()).on($(EVENT_TIME)).as("w1"))
    .groupBy($(ID),$(LABEL),$("w1"))
    .select($(ID),$("w1").rowtime().as("w1_rowtime"));

// table1.execute().print(); --> works well

// 2. Group vertices by label and/or property values
Table table2 = table1
   .window(Tumble.over(lit(10).seconds()).on($("w1_rowtime")).as("w2"))
   .groupBy($(LABEL),$("w2"))
   .select(
       $(LABEL).as("super_label"),lit(1).count().as("super_count"),$("w2").rowtime().as("w2_rowtime"));

// table2.execute().print(); --> works well

table2.select($("super_label"),$("w2_rowtime"))
  .execute().print(); // --> throws exception

一个窗口分组是删除重复项,因为多个边可以具有相同的源/目标顶点(即相同的 id、标签等)和不同的时间戳(时间戳从边获取)。第二个分组用于按给定的配置对不同的顶点进行分组并聚合其值。

问题:当我在后续步骤中使用 groupedVertices 时,例如只是投影(请参阅我剪下的最后几行),我收到以下异常(请参阅评论中的 Jira 问题)。别名 w1_rowtime 似乎不再“注册”了。

有没有人知道这种情况的解决方案或解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。