4.查询限制对无界数据流进行连续的查询会有一些限制,主要是如下两个方面: (1)状态大小限制无界数据流上的连续查询需要运行数周或者数月甚至更长,因此,连续查询处理的数据量可能会很大。例如,前面计算用户访问量的例子中,需要维护用户访问量的计数状态,如果只考虑已注册用户则状态不会太大,如果为每个非注册用户分配唯一的用户名,则需要维护非常大的状态,随着时间推移就可能导致查询失败。SELECT user, COUNT(url)FROM clicksGROUP BY user; (2)计算更新成本限制某些查询即使只添加或更新了一条输入记录,也需要重新计算和更新大部分发出的结果行。这样的查询不太适合作为连续查询执行。例如下面那个例子,它根据最后一次点击的时间为每个用户计算一个 RANK。一旦 clicks 表收到新用,用户的 lastAction 就会更新并计算新的排名。但是,由于两行不能具有相同的排名,所有排名较低的行也需要更新。SELECT user, RANK() OVER (ORDER BY lastAction)FROM ( SELECT user, MAX(cTime) AS lastAction FROM clicks GROUP BY user);欢迎点赞 + 收藏 + 在看 素质三连