2016-03-28 35 views
1

Bir dosyanın boyutunu python 3.5 ve hdfs kitaplığı kullanarak hdfs'den almaya çalışıyorum.Python HDFS yanlış dosya boyutu veriyor

https://pypi.python.org/pypi/hdfs/

from hdfs.client import Client 
if __name__ == '__main__': 

    cl = Client("http://hostName:50070") 

    print (cl.content("/path/to/file/fileName.txt",False)) 

i bu iletiyi gereğince, dosya boyutu 103 KB

olduğunu

{'spaceQuota': -1, 'directoryCount': 0, 'spaceConsumed': 103566, 'length': 34522, 'quota': -1, 'fileCount': 1} 

olsun ama http://hostName:50070/explorer.html#/path/to/file/

baktığınızda sizi anlıyorum dosya boyutu 33.71 KB! Bu nasıl mümkün olabilir? HDFS'de bir dosya için uygun boyut almanın başka bir yolu var mı? Bir dizinin büyüklüğüne ne dersin?

cevap

1

Gördüğünüz doğru.

Görmeyi beklediğiniz 33.71KB'ye yakın bir değer gösteren uzunluk parametresini not edin. Uzunluk, dosyadaki bayt sayısı olarak hadoop belgelerinde tanımlanır. SpaceConsumed, ne kadar disk alanı alınıyor.

Bunlar mutlaka gerçek dosya boyutu 33.71 olan

1

(sizin durumunuzda kesin nedenini bilmek Hadoop yeterince aşina değilim) çünkü dosya sistemindeki blok boyutu ve yükü gibi şeyler, aynı fikirde değilim HDFS'de KB ve boyut 103 KB'dir. HDFS çoğaltma faktörü 3, hdfs'deki dosya boyutu 3 X actual_file_size olur.