当分区间隔为一个月时;
暂未找到可解决的方法
根据您提供的描述,当前的TTL功能是将2023-03-05这样的数据存储在20230401分区中,并且保留上个月的数据。也就是说,在2023-04-01这一天到来之前,20230401分区中的数据都不会被删除,而是会被保留。
如果您想要将20230401分区也作为过期分区删除掉,可以考虑对定时任务进行调整。具体来说,您可以修改定时任务的逻辑,使其在删除过期分区时也能够删除20230401分区。不过需要注意的是,这可能会导致您无法再访问该分区中的数据,请谨慎操作。
另外,建议您在实际操作之前先进行备份,以免误操作导致数据丢失。
首先,你的说法1不对,不是保留上一个月数据,是分区的过期时间点是20230401,哪些分区失效是创建TTL任务时设定的,不会出现该失效的数据还自动跑到不该失效的分区里去,所有你的1的问题描述是不对的。
另外,想要手动删除过期分区也是有语法的,可以参考:https://help.aliyun.com/document_detail/403530.html
此命令多次调用不会无限制删除已有分区,只会删除过期分区。
ALTER TABLE t_order EXPIRE LOCAL PARTITION p20210401;
ALTER TABLE t_order EXPIRE LOCAL PARTITION;
此外,TTL的功能是帮助你自动清理掉你设定的过期的分区,没有过期的分区是不会删除的,如果你想要删除某一个分区的数据,可以直接使用drop partition的语法,而不是TTL功能。
删除分区请见:https://help.aliyun.com/document_detail/316600.html
对于对Range/List分区策略的分区组,支持删除分区。
ALTER TABLEGROUP tg_name DROP PARTITION partition_name [,partition_name] ...
定时任务可以自己创建的吧 https://help.aliyun.com/document_detail/403531.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。