Hbase OpenTSDB支持修改数据吗?

Hbase OpenTSDB支持修改数据吗?,hbase,opentsdb,Hbase,Opentsdb,检查了文件。未找到有关此的详细信息,但: Hbase上的OpenTSDB支持修改值吗?(我知道它没有多大意义,因为它通常用于监控) 它是否支持向现有度量值添加新标记 我需要对存储在OpenTSDB中的时间序列数据进行一些分析和修改。我想知道OpenTSDB是否提供了实现这一点的功能。类似于将数据点标记为“无用”,以便下次我查询数据并获得数据点时,我可以轻松地通过检查标记或值对其进行过滤。我最终决定做的是: 分析并将该点归类为无用或有用 用TSUID检索该点 使用api/注释端点,使用TSUID向

检查了文件。未找到有关此的详细信息,但:

  • Hbase上的OpenTSDB支持修改值吗?(我知道它没有多大意义,因为它通常用于监控)

  • 它是否支持向现有度量值添加新标记


  • 我需要对存储在OpenTSDB中的时间序列数据进行一些分析和修改。我想知道OpenTSDB是否提供了实现这一点的功能。类似于将数据点标记为“无用”,以便下次我查询数据并获得数据点时,我可以轻松地通过检查标记或值对其进行过滤。

    我最终决定做的是:

  • 分析并将该点归类为无用或有用
  • 用TSUID检索该点
  • 使用api/注释端点,使用TSUID向其添加本地注释

  • 此链接很好地解释了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来启用上次写入wins。启用此标志后,在查询时,将返回记录的最新值,而不是引发异常。日志文件中还将写入一条警告,指出发现了重复项。如果同时启用压缩,则原始压缩值将被最新值覆盖

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