NEWS
InfluxDB 2.0 Measurement löschen
-
Vielen Dank! Hat alles wunderbar funktioniert!
So kann man falsche Werte "relativ" einfach korrigieren!Gruß
-
@marc-berg
Grundsätzlich klappt das mit dem CSV ganz gut, allerdings hab ich ein Problem mit der Zeit....
Ich wollte ein paar Daten vom Stromzähler nachtragen um die in Grafana nutzen zu können.
CSV heruntergeladen, meine Werte eingetragen und das Datum angepasst, jeden 1. des Monats 4 Uhr.
-
@bommel_030 sagte in InfluxDB 2.0 Measurement löschen:
@marc-berg
Grundsätzlich klappt das mit dem CSV ganz gut, allerdings hab ich ein Problem mit der Zeit....Irgendwie ist da beim Reinkopieren was schief gegangen, den Screenshot nicht mit in Code-Tags packen. Das "false" am Anfang jeder Zeile ist auch falsch.
Und zeige mal die zugrunde liegende Abfrage. Die musst Du auf "value" filtern.
|> filter(fn: (r) => r["_field"] == "value")
-
@marc-berg
Sorry, da ist beim editieren wohl was daneben gegangen.#group,false,false,true,true,false,false,true,true,true,true,true #datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string #default,_result,,,,,,,,,, ,result,table,_start,_stop,_time,_value,_field,_measurement,ack,from,q ,,0,2021-12-31T23:00:00Z,2022-06-03T05:20:10Z,2022-01-01T05:00:00.494Z,2109.43,value,Heizungsmeter,true,system.adapter.sourceanalytix.0,0 ,,0,2021-12-31T23:00:00Z,2022-06-03T05:20:10Z,2022-02-01T05:00:01.493Z,2369.771,value,Heizungsmeter,true,system.adapter.sourceanalytix.0,0 ,,0,2021-12-31T23:00:00Z,2022-06-03T05:20:10Z,2022-03-01T05:00:00.494Z,2619.109,value,Heizungsmeter,true,system.adapter.sourceanalytix.0,0 ,,0,2021-12-31T23:00:00Z,2022-06-03T05:20:10Z,2022-04-01T05:00:01.493Z,2835.693,value,Heizungsmeter,true,system.adapter.sourceanalytix.0,0 ,,0,2021-12-31T23:00:00Z,2022-06-03T05:20:10Z,2022-05-01T05:00:00.494Z,3161.085,value,Heizungsmeter,true,system.adapter.sourceanalytix.0,0 ,,0,2021-12-31T23:00:00Z,2022-06-03T05:20:10Z,2022-06-01T05:00:01.493Z,3181.144,value,Heizungsmeter,true,system.adapter.sourceanalytix.0,0
Alle Daten sollten am 1. des Monats gegen 5 Uhr reinkommen. Erster des Monats passt, aber die Zeit halt nicht. Hier nicht so dramatisch aber für die Zukunft würde ich gerne wissen was da schief läuft.
Das war die Abfrage zum Download des CSV.
from(bucket: "iobroker_never") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Heizungsmeter") |> filter(fn: (r) => r["_field"] == "value")
-
@bommel_030
Wenn ich die Daten in meine Test-DB importiere, sieht das sauber aus:
Vielleicht schaust Du auf alte, schon vorhandene Daten, und hast versehentlich in ein falsches Bucket importiert?
Beim Import ist ja standardmäßig das erste Bucket selektiert, wenn man ein anderes haben möchte, muss man das aktiv auswählen.Wichtig: Wenn man am Zeitstempel rumspielt, werden natürlich keine Daten geändert, sondern neue hinzugefügt. Die alten muss man dann manuell löschen.
-
@Rushmed sagte in InfluxDB 2.0 Measurement löschen:
Mich sterngt die Handhabung der InfluxDB Daten auch etwas an. Gibts hier nicht nen Profi mit zuviel Freizeit der InfluxDBStudio für Influx 2.x und KlickKlickWindows User weiterntwickeln kann?
Ich habe noch dieses Tool gefunden:
https://github.com/JorgeMaker/InfluxDBWorkBenchIch gehe aber davon aus das das ebenfalls nicht für InfluxDBv2 funktioniert ?
-
@ftd sagte in InfluxDB 2.0 Measurement löschen:
@rushmed Profi ja, Zeit nein.... geht mit KlickKlickWindows und der Influx v2 API... siehe hier: https://docs.influxdata.com/influxdb/v2.2/api/#tag/Delete
Der beschriebene Weg über die Excel ist schon mal viel besser als Kommandozeile. Werde ich auch mal testen.
Ich würde aber gerne verstehen wie das über die API mit „KlickKlickWindows“ funktioniert, irgendwie weiß ich aber nicht wie da vorzugehen ist.
Kannst du mir das „KlickKlickWindows“ netterweise mal erklären ? -
@marc-berg sagte in InfluxDB 2.0 Measurement löschen:
Wichtig: Wenn man am Zeitstempel rumspielt, werden natürlich keine Daten geändert, sondern neue hinzugefügt. Die alten muss man dann manuell löschen.
Genau das war ja mein Ansinnen Long Story Short, nach Reboot kommen auch die richtigen Zeitstempel. Danke noch mal für deine Unterstützung.
-
@marc-berg sagte in InfluxDB 2.0 Measurement löschen:
@friemelkarl sagte in InfluxDB 2.0 Measurement löschen:
Jetzt möchte ich den falschen Wert aber gerne korrigieren.
Es gibt natürlich viele verschiedene Wege, Daten zu korrigieren. Eine Methode, die ich ich gern anwende ist über den Umweg CSV. Damit lassen sich bei Bedarf auch viele Werte am Stück korrigieren:
- Im Data Explorer eine Query ausführen, die die zu korrigierenden Werte umfasst, dabei am Besten den Zeitraum passend eingrenzen und unbedingt Aggregationen entfernen.
-
Als CSV speichern
-
Werte in der CSV wie gewünscht ändern und speichern (nicht in Excel)
- Über "Data Sources --> File Upload --> Flux Annotated CSV" hochladen
Fertig.
Danke für diese Anleitung ! Hat geklappt nachdem ich wirklich die Aggregation Functions vor dem Export entfernt hatte. Sehe ich es aber richtig, dass das einfache Löschen von Zeilen im csv nichts bewirkt sondern die fehlerhaften Datenpunkte definitiv (auf sinnhafte Werte) geändert werden müssen ?
-
@lethuer sagte in InfluxDB 2.0 Measurement löschen:
Danke für diese Anleitung ! Hat geklappt nachdem ich wirklich die Aggregation Functions vor dem Export entfernt hatte. Sehe ich es aber richtig, dass das einfache Löschen von Zeilen im csv nichts bewirkt sondern die fehlerhaften Datenpunkte definitiv (auf sinnhafte Werte) geändert werden müssen ?
Richtig, letztlich macht man nur ein Update bestehender Daten.
-
@spacerx sagte in InfluxDB 2.0 Measurement löschen:
Nun der Befehl um den Eintrag komplett zu löschen.
InfluxDate schreibt dazu:
influx delete
--bucket example-bucket
--start 1970-01-01T00:00:00Z
--stop $(date +"%Y-%m-%dT%H:%M:%SZ")
--predicate '_measurement="example-measurement"'
Das angepasst auf meine Datenbank und die ID des Datenpunktes in der Konsole eingegeben.Vielen Dank, das hat mir sehr geholfen!!!
-
@spacerx Danke, funktioniert tadellos
-
-
@spacerx sagte in InfluxDB 2.0 Measurement löschen:
Schwups nun ist ID-Datenpunkt aus InfluxDB verschwunden.
.. würde den schwups auch gerne anwenden. Habe versehentlich Daten in ein falsches measurement geschrieben.
Möchte zum bereinigen Werte > 1000 eliminieren.[Edit]
influx delete --bucket iobroker --start 1970-01-01T00:00:00Z --stop $(date +"%Y-%m-%dT%H:%M:%SZ") --predicate '_measurement="iobroker_n" AND _value > 1000"'
geht so nicht !
-
@agrippinenser sagte in InfluxDB 2.0 Measurement löschen:
influx delete --bucket iobroker --start 1970-01-01T00:00:00Z --stop $(date +"%Y-%m-%dT%H:%M:%SZ") --predicate '_measurement="iobroker_n" AND _value > 1000"'
Moin,
keine Ahnung, ob das dein Problem behebt, da du die Fehlermeldung nicht zeigst, aber da ist ein
"
zu viel oder eins zu wenig.influx delete --bucket iobroker --start 1970-01-01T00:00:00Z --stop $(date +"%Y-%m-%dT%H:%M:%SZ") --predicate '_measurement="iobroker_n" AND _value > 1000"' ........................................................^
VG
BerndP.S.: wie @diwoma gerade auch schon angemerkt hat, habe ich mal bei
influxDB
geschaut. Also_value
ist zuviel, daher auch mal die Fehlermeldung zeigen, denn da müsste etwas stehen, was falsch ist.Limitations The delete predicate syntax has the following limitations. Delete predicates do not support regular expressions. Delete predicates do not support the OR logical operator. Delete predicates only support equality (=), not inequality (!=). Delete predicates can use any column or tag except _time , _field, or _value.
P.P.S.: https://docs.influxdata.com/influxdb/v2.7/reference/syntax/delete-predicate/
-
@agrippinenser
Ich glaube man kann nur Measurements löschen und keine Felder oder Werte dieser Felder (meine Vermutung, weil ich mal den ack-value löschen wollte und die Meldung kam, das delete _field nicht implementiert ist)
Ich denke ein Kopieren nur der gewollten Werte in ein temporäres Measurement, dann Löschen des Originalen und mit Zurückkopieren der Werte wäre es auch zu bereinigen (reine Vermutung) -
@dp20eic sagte in InfluxDB 2.0 Measurement löschen:
ber da ist ein " zu viel oder eins zu wenig.
ja du hast recht - habe es auch bemerkt und korrigiert. Aber so geht das auch nicht:
influx delete --bucket iobroker --start 1970-01-01T00:00:00Z --stop $(date +"%Y-%m-%dT%H:%M:%SZ") --predicate 'bucket = "iobroker AND _measurement = zaehlerstand.wasser AND _value > 1000"' -o home -t meinschluessel
-
@diwoma sagte in InfluxDB 2.0 Measurement löschen:
ch denke ein Kopieren nur der gewollten Werte in ein temporäres Measurement, dann Löschen des Originalen und mit Zurückkopieren der Werte wäre es auch zu bereinigen (reine Vermutung)
ach man, so einfach ist das. Habe mich total auf das löschen konzentriert !
vielen Dank !
-
@agrippinenser Achtung nur eine Vermutung. Aber wenn es funktioniert kann ich es auch verwenden
-
@diwoma sagte in InfluxDB 2.0 Measurement löschen:
Achtung nur eine Vermutung.
ne ist doch klar. Das gewollte filtern, in ein Bucket schreiben und ein wenig hin und her kopieren. Brett vorm Kopf ist für heute erst mal weg