欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

druid删除数据_Apache druid 删除数据流程 0.13

发布时间:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。