這幾乎肯定是重復的,但我無法將這些信息放在一起。如何從 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
提交
取消