druid删除数据_Apache druid 删除数据流程 0.13
背景
由于前端時間數據導入出現問題,導致druid 中的數據需要重新導入,但又要防止數據重復,需要把數據徹底清理。
問題
由于druid 屬于時間序列數據庫,刪除的時候只能時間范圍刪除。
刪除流程
- 根據時間范圍查詢segements 標識(在coordinator節點查詢)
查詢例子:查找 datasource 為uservalid_1d,時間范圍是 2019-09-29至2019-10-08 間的范圍數據,返回值為數組。
- 查看segements 信息
通過segements詳情,可以看出interval,唯一標示,當前在哪個節點上存儲。
- 標記segments 為 unused(unused 不是刪除,而是加載對應的segements)(0.13版本)
上面實例就是 把數據庫uservalid_1d,中的uservalid_1d_2019-10-06T00:00:00.000Z_2019-10-07T00:00:00.000Z_2019-10-08T07:10:17.073Z_1標記為unused 。
標記unused ?
在元數據存儲中,表名:druid_segments,字段屬性:dataSource 值:uservalid_1d 屬性:used 設置為 ‘0’,在coordinator節點,分配segements時,used 為 ‘0',segements不進行加載。
查看系統中未加載的segments sql語句
SELECT * FROM `druid_segments` WHERE dataSource = 'uservalid_1d' AND used = '0'- 清理深度存儲數據。提交Kill 任務
只有標記為unused segements才能被清理掉。
- 驗證
查看hdfs中是否還存在對應的 目錄 hadoop -fs -ls /druid/segements/uservalid_1d
總結
druid 徹底清理數據時,分為三步,查詢刪除的segements,標記為unused,清理元數據及深度存儲數據。
注意
以上刪除方式,適用于0.13版本,其他版本,未進行過測試。
總結
以上是生活随笔為你收集整理的druid删除数据_Apache druid 删除数据流程 0.13的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阵列信号处理笔记-阵列信号处理基础
- 下一篇: endnotex8使用教程_Endnot