slimit nightly influxdata influx create sql influxdb

sql - nightly - influxdb windows



¿Puedes borrar datos de influxdb? (6)

Con influx, solo puedes eliminar por tiempo

Por ejemplo, los siguientes son inválidos:

#Wrong DELETE FROM foo WHERE time < ''2014-06-30'' and duration > 1000 #Can''t delete if where clause has non time entity

Así es como pude eliminar los datos

DELETE FROM foo WHERE time > ''2014-06-30'' and time < ''2014-06-30 15:16:01''

Actualización: esto funcionó en la afluencia 8. Supuestamente no funciona en la afluencia 9

¿Cómo se eliminan los datos de influxdb?

La documentación muestra que debe ser tan simple como:

delete from foo where time < now() -1h

Por algún motivo, influxdb rechaza mis declaraciones de eliminación que dicen "Eliminar consultas no puede tener una cláusula where que no haga referencia al tiempo"

select * from bootstrap where duration > 1000 and time > 14041409940s and time < now()

Quiero eliminar estas 5 entradas cuya duración> 1000 segundos

Esta debería ser una sentencia sql válida, pero falla

Ninguna de estas instrucciones de eliminación funciona tampoco

delete from bootstrap where duration > 3000000" delete from bootstrap where duration > 300000" delete from bootstrap where time = 1404140994043" delete from bootstrap where duration > 300000 and time > 1404141054508 " delete from bootstrap where duration > 300000 and time > 1404141054508s " delete from bootstrap where time > 1404141054508s and duration > 300000 " delete from bootstrap where duration > 30000 and time > 1s"

Referencia de documentación

http://influxdb.com/docs/v0.8/api/query_language.html

Actualizar

Consultas adicionales

delete from bootstrap where time > 1404141416824 and duration > 3000; delete sequence_number from bootstrap where time > 1s and duration > 1000;

Tal vez esto es un error?

https://github.com/influxdb/influxdb/issues/975
https://github.com/influxdb/influxdb/issues/84


Debido a que InfluxDB es un poco doloroso sobre las eliminaciones, usamos un esquema que tiene un campo booleano llamado "ForUse", que se ve así cuando se publica a través del protocolo de línea (v0.9):

your_measurement,your_tag=foo ForUse=TRUE,value=123.5 1262304000000000000

Puede sobrescribir la misma medición, clave de etiqueta y hora con cualquier clave de campo que envíe, por lo que hacemos "eliminaciones" configurando "ForUse" como falso, y permitiendo que la política de retención mantenga el tamaño de la base de datos bajo control.

Como la sobrescritura se realiza sin problemas, también puede agregar el esquema de forma retroactiva. Noice.


Estoy agregando estos comandos como referencia para alterar la retención dentro del contenedor InfluxDB en kubernetes k8s. wget se usa para que el contenedor no tenga curvatura y afluencia CLI

wget ''localhost:8086/query?pretty=true'' --post-data="db=k8s;q=ALTER RETENTION POLICY /"default/" on /"k8s/" duration 5h shard duration 4h default" -O-

Verificación

wget ''localhost:8086/query?pretty=true'' --post-data="db=k8s;q=SHOW RETENTION POLICIES" -O-


Me sorprende que nadie haya mencionado las políticas de retención de InfluxDB para la eliminación automática de datos. Puede establecer una política de retención predeterminada y también establecerlos en un nivel por base de datos.

De los documentos :

CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> [DEFAULT]


Parece que puedes hacer esto en influxdb 0.9. Por ejemplo, aquí hay una consulta que me acaba de salir bien:

DROP SERIES FROM temperature WHERE machine=''zagbar''

(Por generoso comentario de @MuratCorlu, estoy volviendo a publicar mi comentario anterior como respuesta ...)


Solo puede eliminar con su campo de tiempo, que es un número.

Delete from <measurement> where time=123456

trabajará. Recuerde no dar comillas simples o comillas dobles. Es un número.