美文网首页
opentsdb聚合问题

opentsdb聚合问题

作者: 木豈几 | 来源:发表于2018-11-07 16:13 被阅读0次

    背景

    在一次统计当中发现聚合出来的结果有一列值存在信息丢失情况,且为关键字段,严重影响统计结果。

    定位问题

    由于是的opentsdb+hdfs方案,而我们又会定时将数据聚合到db中,因此首先需要确认数据到底丢没丢。

    数据首先是进入hdfs里进行原始数据存储,然后会有定时任务通过tsdb将聚合结果存放在db中,所以我们初步将这里分成2段:原始数据->hdfs、tsdb(从hdfs中聚合)->db

    1、开始查询hdfs里数据,发现数据没有丢,稳了,说明恢复db统计结果可能性极大

    2、于是开始查找是tsdb聚合问题,发现有些天是正常的,有些天是存在信息丢失的,稳了,说明tsdb没有问题

    3、进一步查询hdfs里明细数据,发现有些数据确实存在该字段缺失情况,惊了,怎么会丢值呢

    4、查看代码,if条件写的有问题,把null值也给写进去了。。。

    5、为什么少量null值数据影响了大量数据呢?

    6、发现以天为单位,当天出现第一条null值数据之前的数据聚合没有问题,之后的问题就全部出现该字段为null了(简单查看了opentsdb源码)

    解决方案

    在queries里的filters加一个filter,即根据该字段里具体的每一个key过滤,这样就能避免null值对正常数据的影响。

    试过通配符、正则表达式等方式,均受null影响无效。

    参考:

    OpenTSDB使用总结

    opentsdb

    OpenTSDB - Chunked request not supported

    相关文章

      网友评论

          本文标题:opentsdb聚合问题

          本文链接:https://www.haomeiwen.com/subject/mhyvxqtx.html