使用OSS-HDFS回收站时,需要客户端将待删除文件挪至指定目录,并由服务端定时清理该目录下的数据。
删除文件说明
-
当您从OSS-HDFS服务删除文件时,文件不会立即被删除,而是转至
/user//.Trash/Current
目录下。 -
经过30分钟后,
Current
目录下的文件会被转至/user//.Trash/
目录下。说明
以Unix时间戳的形式展示,表示自UTC时间1970年01月01号开始的秒数。用于表示某一时间段内被删除的文件,会被归类到带时间戳的目录下。
-
经过指定天数后,
/user//.Trash/
目录被永久删除。回收站中的数据保存时间默认是3天,支持自定义数据保存时间为1~14天。例如,回收站指定保存时间为5天,您在执行删除操作的5天内,可以随时从对应的时间戳目录下恢复删除的文件。
说明
回收站功能是由客户端和服务端配合形成。客户端负责将待删除文件挪到.Trash
目录下;服务端默认开启定时清理,负责维护/user//.Trash
目录下的定时清理。
Hadoop FileSystem Shell使用回收站功能
示例代码如下。
hadoop fs -rm oss://bucket/a/b/c
客户端的Hadoop Shell命令默认不开启Trash功能,因此需要在core-site.xml里添加配置来开启Trash功能。
fs.trash.interval
1440
说明
该value取值只需大于0即可。
此时在客户端会自动将rm命令转换为一条hadoop fs -mv oss://bucket/a/b/c /user//.Trash/Current/a/b/c
命令。因此,您不需要感知回收站功能的存在,服务端会负责清理。
如果您想立即删除该文件,释放空间,可以添加-skipTrash参数,此时将立即删除该文件。
Hadoop生态组件使用回收站功能
Hive、Spark和Flink等组件并不感知OSS-HDFS服务回收站功能的存在,使用FileSystem(HDFS)的Delete接口意味着立即删除。
OSS-HDFS采取了跟开源Hadoop相似的策略。如果您需要使用回收站功能,需要显式地调用FileSystem的rename接口,将目标文件手动挪到/user//.Trash/Current
目录下,由OSS-HDFS服务端负责定期删除。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/157639.html