这几乎肯定是重复的,但我无法将这些信息放在一起。如何从 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
也考虑此处的基数)放入标签(调用中的单独参数),而不是值。
然后它会起作用,但问题是 - 为什么你需要删除这些点?你能回答这个问题吗?
-) 这件事真的很恶心,我必须承认,不知道你们是怎么忍受的,而不是立即逃到一些更人性化的设计和文档化的库和语言中

神不在的星期二
TA贡献1963条经验 获得超6个赞
添加回答
举报
0/150
提交
取消