OpenTSDB:用于批量插入和从文件批量上载的Java API

时间:2016-05-05 08:11:23

标签: opentsdb

OpenTSDB中是否有任何Java API可以执行以下任务:

  1. 批量插入多个指标(每个指标有多个数据点)。
  2. 从文件批量导入。
  3. 我在CSV文件中获取数据如下:

    timestamp,tag,metric1,metric2,metric3,metric4,metric5
    1315000846,Test_01,62.5,82.5,52.5,10.5,85.5
    1315000850,Test_02,52.5,72.5,42.5,5.5,75.5
    

    以上两行的时间序列数据如下:

    metric1 1315000846 62.5 tag=Test_01
    metric2 1315000846 82.5 tag=Test_01
    metric3 1315000846 52.5 tag=Test_01
    metric4 1315000846 10.5 tag=Test_01
    metric5 1315000846 85.5 tag=Test_01
    metric1 1315000850 52.5 tag=Test_02
    metric2 1315000850 72.5 tag=Test_02
    metric3 1315000850 42.5 tag=Test_02
    metric4 1315000850 5.5 tag=Test_02
    metric5 1315000850 75.5 tag=Test_02
    

    我正在考虑两种方式:

    1. 使用一些api(如果可用)
    2. 批量插入上述数据点
    3. 将上述内容保存在新文件中,并使用某些API(如果可用)
    4. 批量上传此文件

      我已经通过了WritableDataPoints,使用它我们可以添加多个数据点 但我不确定是否可以使用同一个实例添加多个指标(setSeries()只采用一个指标名称。)

1 个答案:

答案 0 :(得分:-1)

我最终使用了WritableDataPoints 我查看了TextImporter源代码,发现它们维护了一个WritableDataPoints映射,密钥为function moveSlidesReverse() { var slides = jQuery('#main').children('.dfmn-section-slider'); var pos2 = 0; slides.each(function() { pos = jQuery(this)[0].style.left; pos = parseInt(pos.substring(0,pos.indexOf('%'))); if (pos == -100) { outerSlide = ''; return false; } else if (pos > pos2) { pos2 = pos; outerSlide = jQuery(this).attr('id'); } }); slides.each(function() { pos = jQuery(this)[0].style.left; pos = parseInt(pos.substring(0,pos.indexOf('%'))); if (outerSlide != jQuery(this).attr('id')) { jQuery(this).removeClass('dfmn-section-slider-static') .addClass('dfmn-section-slider-animate') .css('left', (pos+100) + '%'); } else { jQuery(this).removeClass('dfmn-section-slider-animate') .addClass('dfmn-section-slider-static') .css('left', '-100%') .queue(function() { jQuery(this).removeClass('dfmn-section-slider-static') .addClass('dfmn-section-slider-animate') .css('left', '0%') .dequeue; }); } }); } ,并重用相同的WritableDataPoints对象为度量标准添加新数据点标签