2017-07-25 45 views
0

刪除所有空操作.bz2文件,我有一個文件夾(實際上HDFS上,但我不認爲這會影響這個問題)的操作.bz2文件。其中一些解壓縮時會給出單個空文件。我想刪除所有解壓縮爲空的.bz2文件,我注意到它們都具有14個字節的大小。簡單地刪除所有14個字節的文件是否安全?或者是否有可能將一個非空文件壓縮到/從一個14字節的bz2解壓縮?從文件夾

回答

0

BZ2是由BZIP 2. BZIP 2中使用的壓縮文件格式是Julian Seward寫創建一個開放和自由壓縮程序。 BZ2文件使用Burrows-Wheeler壓縮算法結合運行長度編碼(RLE)進行最大壓縮。 link

如果你想刪除這些文件,先用下面的代碼片斷。廣州文件的詳細信息。

解壓文件GZ2

gunzip -c test.bz2 | hadoop fs -put - /path/filepath 

閱讀其內容

hadoop fs -text /path_for_hdfs/test.bz2 | hadoop fs -put /hdfs_path/abc.txt 
+0

我真的不希望有,雖然解壓縮所有文件...問題是,我可以保證一個14字節BZ2是空的? – tex94

0

我創建一個空的文本文件,並使用bzip2壓縮並插入到HDFS。 空的bzip2文件的大小是14B。 當我做與非空文件(只有一個字符)相同時它是39字節。

我的結論是,所有的bzip2 14B文件將是空的。

使自己desition根據測試用例...

enter image description here

+0

但是,任何人都可以解釋爲什麼一個14字節的bz2文件會一直解壓縮到一個空文件?即您的答案似乎基於歸納推理,但是在潛在的數據丟失問題上,我會因爲基於演繹推理的答案而感到更安全。 – tex94

+0

「爲什麼一個14字節的bz2文件總是會解壓到一個空文件。」 使用bzip2壓縮的空文件將爲14B。 但我不知道14B大小的確切原因 – Rahul

+0

我接受,但可能由於某種原因,非空文件也會壓縮到14個字節?僅僅說明一個字符壓縮到14個字節是不夠的,因爲壓縮算法很容易被假設爲壓縮說8,16或32個字符的副本比單個字符的空間要小。我希望有一個具有bz2領域特定知識的人可以提供答案...... – tex94