为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除influxDB中的一个点

如何删除influxDB中的一个点

江户川乱折腾 2021-08-05 16:35:45
这几乎肯定是重复的,但我无法将这些信息放在一起。如何从 influxDB 中删除一个点?首先我使用 Python 和DataFrameClient:client = DataFrameClient('localhost', '8086', 'root', 'root', 'meteo')然后我写了多个点,如:meta = pd.DataFrame({'path': ['A'],                     'table': ['B'],                     'md5': ['C']},                     index=[pd.datetime.now()])client.write_points(dataframe=meta,                    measurement='__SRC__',                    protocol='line',                    database='meteo')现在我想删除所有点,哪里path是'A'. 我尝试使用client.query:DELETE FROM "meteo"."autogen"."__SRC__" WHERE path='A'> received status code 400 from server: err: error parsing query:>     retention policy not supported at line 1, char 1现在这条消息可能是有意义的,但是你能帮我解决我做错了什么以及在哪里阅读吗?万分感谢!更新按照@JanGaraj 的回答,我有更多的结果。以下查询(我有一个变量。table而不是path但不会看到这有什么不同。)client = influxdb.DataFrameClient('localhost', '8086', 'root', 'root', 'meteo')client.query('DELETE  FROM "__SRC__" WHERE table=\'A\'')回报ResultSet({})但不会删除任何内容(SELECT * FROM "__SRC__" WHERE table=\'A\'我得到 4 个数据点)。DELETE  FROM "__SRC__" WHERE table='A'放入 Chronograf的相同查询 ( ) 给出“找不到数据库:”,这是有道理的,但我不知道如何修复它。
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

首先,根据DELETE规范,您实际上无法删除单个点 - 您删除一系列中的所有点。

在实践中,在这种情况下,您可以将标签视为一个系列(过于简化,但在这里有效)。

标签是DELETE定义一个受到影响的系列所需要的 - 从来没有值!

换句话说,你可以指定在您的标签WHERE

现在,我从这个 Py 库 doc(-) 得到的,DataFrame被认为是一组值,而不是标签。

这正是它不起作用的原因:您应该将您的path(并且很可能table也考虑此处的基数)放入标签(调用中的单独参数),而不是值。

然后它会起作用,但问题是 - 为什么你需要删除这些点?你能回答这个问题吗?

-) 这件事真的很恶心,我必须承认,不知道你们是怎么忍受的,而不是立即逃到一些更人性化的设计和文档化的库和语言中


查看完整回答
反对 回复 2021-08-05
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

尝试查询:

DELETE FROM "__SRC__" WHERE path='A'

在这种情况下,FROM 部分不支持 DB 和保留策略 - 请参阅InfluxDB DELETE 文档


查看完整回答
反对 回复 2021-08-05
  • 3 回答
  • 0 关注
  • 404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号