根据 Flink Table API Streaming Concepts,Table API 和 SQL 查询可能会由于状态大小的增长而失败。
状态大小:连续查询在无限流上进行评估,通常应该运行数周或数月。因此,连续查询处理的数据总量可能非常大。必须更新先前发出的结果的查询需要维护所有发出的行才能更新它们。例如,第一个示例查询需要存储每个用户的 URL 计数,以便能够增加计数并在输入表接收到新行时发送新结果。如果只跟踪注册用户,那么要维护的计数可能不会太高。但是,如果为非注册用户分配了唯一的用户名,则要维护的计数数量会随着时间的推移而增加,并最终可能导致查询失败。
Table API 和 SQL 在后台使用 DataStream API。
Table API / SQL 查询的状态不应该像 DataStream API 作业的状态一样扩展吗?