2016-12-28 104 views
0

我想在HDFS中找到小于块大小的文件。如何从fsimage找到文件的名称和大小?

通过使用OIV我将fsimage转换为带有如下分隔符的文本文件。

hdfs oiv_legacy -i /tmp/fsimage -o /tmp/fsimage_$RUNDATE/fsimage.txt -p Delimited -delimiter '@'

由于拥有的FsImage大量数据。从此如何查找HDFS中每个文件的文件名和文件大小。

任何人都可以请帮忙。

在此先感谢....

回答

0

看看documentation末尾的脚本。

从开始:

A = LOAD '$inputFile' USING PigStorage('\t') AS (path:chararray, 
               replication:int, 
               modTime:chararray, 
               accessTime:chararray, 
               blockSize:long, 
               numBlocks:int, 
               fileSize:long, 
               NamespaceQuota:int, 
               DiskspaceQuota:int, 
               perms:chararray, 
               username:chararray, 
               groupname:chararray); 

-- Grab the pathname and filesize 
B = FOREACH A generate path, fileSize; 

-- Save results 
STORE B INTO '$outputFile'; 
+0

感谢您的帮助@ravwojdyla – GopiGowtham

0
hadoop fs -find /tmp/fsimage size 64 -print 

注:我使用的MAPR Hadoop.The语法可能警惕如果Cloudera的,Hortonworks。

+0

我在Cloudera的猜测和hortonworks分布我们没有发现选项。 如果我错了,请纠正我。 – GopiGowtham

相关问题