离线数据分析,select能查询到实时数据,但是sum()函数出来的数据是否有缓存还是怎么回事,后面查询数据都不会变?如果是有缓存,这个如何处理?
比如说,先运行了一次select sum(number) from table where a=1 几分钟后给table表添加一条数据,select * from table where a=1 可以查询到数据,但是使用 select sum(number) from table where a=1 查询出来的,还是之前的结果没有变化,但是实际上确实有增加的

这个结果是会缓存一天的,除非你变更查询条件。

结果缓存1天的话,我统计出来的就不是实时数据了啊?实时数据也就没有意义了?为什么这样做啊?

你好,因为我们现在用来支持离线分析的集群规模是有边界的,而使用这一功能的用户比较多,用户之间需要平衡使用我们的计算资源,「结果缓存一天」就是平衡的策略之一。
我们发现不少用户都会反复执行同样的查询,如果每次都实时重新计算,那么对其它用户影响会比较大,并且大部分时候数据是没有变化的,所以我们设计了这样一种缓存的机制。目前来看在没有其它方式保证用户不滥用的情况下,这种机制对于大多数用户来说还是利大于弊的。对于你的需求,我们会仔细考虑,后续会推出合适的解决方案,谢谢你的理解。