使用回收站
使用OSS-HDFS回收站時(shí),需要客戶端將待刪除文件挪至指定目錄,并由服務(wù)端定時(shí)清理該目錄下的數(shù)據(jù)。
刪除文件說明
當(dāng)您從OSS-HDFS服務(wù)非強(qiáng)制刪除文件時(shí),文件不會(huì)立即被刪除,而是轉(zhuǎn)至
/user/<username>/.Trash/Current
目錄下。經(jīng)過30分鐘后,
Current
目錄下的文件會(huì)被轉(zhuǎn)至/user/<username>/.Trash/<timestamp>
目錄下。說明<timestamp>以Unix時(shí)間戳的形式展示,表示自UTC時(shí)間1970年01月01號(hào)開始的秒數(shù)。<timestamp>用于表示某一時(shí)間段內(nèi)被刪除的文件,會(huì)被歸類到帶時(shí)間戳的目錄下。
經(jīng)過指定天數(shù)后,
/user/<username>/.Trash/<timestamp>
目錄被永久刪除。回收站中的數(shù)據(jù)保存時(shí)間默認(rèn)是3天,支持自定義數(shù)據(jù)保存時(shí)間為1~14天。例如,回收站指定保存時(shí)間為5天,則您在執(zhí)行刪除操作的5天內(nèi),可以隨時(shí)從對(duì)應(yīng)的時(shí)間戳目錄下恢復(fù)刪除的文件。以下步驟用于設(shè)置回收站中數(shù)據(jù)的保存天數(shù):
單擊左側(cè)導(dǎo)航欄的Bucket列表,然后單擊目標(biāo)Bucket。
在左側(cè)導(dǎo)航欄,選擇 。
在HDFS服務(wù)頁簽,單擊回收站區(qū)域的,修改回收站中數(shù)據(jù)的保存天數(shù)。
單擊確定。
回收站功能是由客戶端和服務(wù)端配合形成。客戶端負(fù)責(zé)將待刪除文件挪到.Trash
目錄下;服務(wù)端默認(rèn)開啟定時(shí)清理,負(fù)責(zé)維護(hù)/user/<username>/.Trash
目錄下的定時(shí)清理。
Hadoop FileSystem Shell使用回收站功能
在Hadoop FileSystem Shell中,客戶端默認(rèn)開啟回收站功能。
僅OSS-HDFS支持使用回收站功能,OSS不支持使用回收站功能。
執(zhí)行以下刪除命令,文件移至回收站,服務(wù)端負(fù)責(zé)清理。
hadoop fs -rm oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/a/b/c
客戶端會(huì)自動(dòng)將刪除請(qǐng)求轉(zhuǎn)化為移動(dòng)操作,即
hadoop fs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/a/b/c /user/<username>/.Trash/Current/a/b/c
命令。這樣,您無需顯式管理回收站功能,服務(wù)端會(huì)負(fù)責(zé)清理。使用以下兩種方式徹底刪除文件并釋放存儲(chǔ)空間,文件不會(huì)移至回收站。
方式一:執(zhí)行強(qiáng)制刪除命令。
hadoop fs -rm -f oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/a/b/c
方式二:執(zhí)行刪除命令時(shí)添加-skipTrash參數(shù)。
hadoop fs -rm -skipTrash oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/a/b/c
Hadoop生態(tài)組件使用回收站功能
Hive、Spark和Flink等組件并不感知OSS-HDFS服務(wù)回收站功能的存在,使用FileSystem(HDFS)的Delete接口意味著立即刪除。
OSS-HDFS采取了跟開源Hadoop相似的策略。如果您需要使用回收站功能,需要顯式地調(diào)用FileSystem的rename接口,將目標(biāo)文件手動(dòng)挪到/user/<username>/.Trash/Current
目錄下,由OSS-HDFS服務(wù)端負(fù)責(zé)定期刪除。