InfluxDB записывает точки с одинаковой временной меткой, но с разными измерениями - PullRequest
0 голосов
/ 21 февраля 2019

Требование: я хочу создать базу данных InfxDB для хранения данных временных рядов от нескольких датчиков, сообщающих температуры из разных мест.

Проблема: Когда я записываю точки в базу данных с одинаковой отметкой времени, но разными тегами (пример: location) и значение поля (температуры), приток перезаписывает и теги, и значения полей с последней отметкой времени

Я следовал за документацией, доступной на их веб-сайте, и они показывают образец БД с вышеуказанным требованием, но я не могу найтисхема используется.

Пример таблицы с дублированными временными метками

Дополнительная информация: Пример ввода:

json_body_1 = [
{
    "measurement": "cpu_load_short",
    "tags": {
        "host": "server02",
        "region": "us-west"
    },
    "time": "2009-11-10T23:00:00Z",
    "fields": {
        "Float_value": 0.7,
        "Int_value": 6,
        "String_value": "Text",
        "Bool_value": False
    }
},
{
    "measurement": "cpu_load_short",
    "tags": {
        "host": "server01",
        "region": "us-west"
    },
    "time": "2009-11-10T23:00:00Z",
    "fields": {
        "Float_value": 1.0,
        "Int_value": 2,
        "String_value": "Text",
        "Bool_value": False
    }
}]

Я использовал пример, приведенный в официальной документации, но вместо2 записи, я получаю только одну.Обратите внимание, что тег хоста отличается, что в идеале должно сделать каждую точку уникальной.

Документация

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете попробовать сделать это следующим образом (аналогично этому Начало работы с Python и InfluxDB ):

from influxdb import InfluxDBClient

influx_client = InfluxDBClient(
    host='hostname', port=8086, database='dbname')
influx_client.create_database('dbname')

points = [{
    "measurement": "cpu_load_short",
    "tags": {
        "host": "server02",
        "region": "us-west"
    },
    "time": "2009-11-10T23:00:00Z",
    "fields": {
        "Float_value": 0.7,
        "Int_value": 6,
        "String_value": "Text",
        "Bool_value": False
    }
},
{
    "measurement": "cpu_load_short",
    "tags": {
        "host": "server01",
        "region": "us-west"
    },
    "time": "2009-11-10T23:00:00Z",
    "fields": {
        "Float_value": 1.0,
        "Int_value": 2,
        "String_value": "Text",
        "Bool_value": False
    }
}]


influx_client.write_points(points)
...