背景
近日发现返回的维度不全,排查了一天,逻辑并没有错误,但是结果就是不全。
排查过程
- 在kylin先查询原始的SQL语句,返回结果又40w条数据。
- 但是在程序中查询SQL仅仅返回5w。
正好的5w条数据,所以可以判断是数据被截断了,导致有一部分数据被返回,还有一部分数据被截断了,所以没了。
解决方法
- 修改kylin的配置。
- 优化自己查询代码,先聚合好再查出来。
- 在sql的末尾添加limit 1000000;因为之前没有指定limit的数量所以为默认的数量,如果指定limit的数量就不会截断
看到这里你应该会想揍我一顿,因为我选择了方法2,提升了查询效率还减少一部分运算。