OpenTSDB是否支持修改数据?

时间:2014-11-07 11:18:27

标签: hbase opentsdb

了解文档。没有找到关于此的更多信息,但是:

  1. 基于Hbase的OpenTSDB是否支持修改值? (我知道它没有多大意义,因为它通常用于监控)

  2. 是否支持向现有指标值添加新标记?

  3. 我需要对存储在OpenTSDB中的时间序列数据进行一些分析和修改。想知道OpenTSDB是否提供了实现该功能的功能。像标记数据点“无用”之类的东西,以便下次我查询数据并获得数据点时,我可以轻松地过滤它来检查标记或值。

2 个答案:

答案 0 :(得分:2)

我最终决定做的是:

  1. 分析并将该分类归类为无用或有用。
  2. 使用它的TSUID
  3. 检索点
  4. 使用api / annotation结束点使用TSUID
  5. 为其添加本地注释

答案 1 :(得分:0)

此链接很好地说明了opentsdb 2.3版如何处理数据修改。我的理解是2.4相似。

http://opentsdb.net/docs/build/html/user_guide/writing/index.html#duplicate-data-points

简而言之:这取决于该点每次写入的数据类型以及是否发生压缩。如果数据类型相同(包括#个字节),并且没有进行压缩,那么它将起作用。如果进行了压缩,它将无法正常工作。如果数据类型不同,则它将不起作用。将tsd.storage.fix_duplicates设置为true可以使上述情况遵循最后的写赢策略。

引用相关部分

  

在原始写入的一个小时内,在OpenTSDB中写入数据点通常是幂等的。这意味着您可以在时间戳1356998400处写入值42,然后在同一时间再次写入42,不会发生任何不良情况。但是,如果启用压缩以减少存储消耗并在压缩该行数据之后写入同一数据点,则在该行上查询时可能会返回异常。如果尝试使用相同的时间戳记写入两个不同的值,则在查询期间可能会引发重复的数据点异常。这是由于对1、2、4或8个字节的整数和浮点数进行编码的差异。如果第一个值是整数,第二个值是浮点数,则始终会引发重复错误。但是,如果两个值都是浮点型,或者都是可以以相同长度编码的整数,那么如果未在行上进行压缩,则原始值可能会被覆盖。

     

在大多数情况下,如果写入重复的数据点,则通常表明数据源出了点问题,例如进程意外重新启动或脚本中的错误。当您在具有一个或多个重复项的行中查询时,OpenTSDB将抛出异常,从而“失败”。

     

在OpenTSDB 2.1中,您可以通过将tsd.storage.fix_duplicates配置值设置为true来启用最后写入获胜。启用此标志后,在查询时,将返回记录的最新值,而不是引发异常。警告也将写入日志文件,指出已发现重复项。如果还启用了压缩,则原始压缩值将被最新值覆盖。

对于第二个问题,一个指标可以具有一个或多个与k / v相关联的标签。因此,一个度量可以与关联的tagv一起具有几个公共或不相交的tagk空间。