一、问题
业务中需要从logStore上拉数据进行查询,每次计算的结果都不一样。
在确认计算逻辑无误且logStore数据源头只增不减的前提下,查看API获取结果时发现每次的行数都是100。
通过其他方法计算总条目数发现超过100,但是语句中又没有使用offset、size关键词。
*|SELECT date_trunc('day',__time__) as day, COUNT(*) as number where $condition GROUP by day
logstores/aaa_report?from=$start&query=$sql&reverse=true&to=$end&type=log
二、查找
此时怀疑数据量被限制了,尝试设置参数改变上限。
期间发现出现该问题普遍出现,说明不是配置问题,关于Python SDK的解决途径。
找到的例子是用while循环请求,模拟查询所有分页。
通过设置参数发现,当offset不为0时报错提示使用limit进行分页。
三、解决
在query参数中添加limit关键字:
*|SELECT date_trunc('day',__time__) as day, COUNT(*) as number where $condition GROUP by day limit 0,1000
怀疑是LogStore为了防止内存溢出做出的保护措施。