我正在尝试在HDFS中找到小于块大小的文件。
通过使用OIV,我将fsimage转换为带有分隔符的文本文件。
hdfs oiv_legacy -i /tmp/fsimage -o /tmp/fsimage_$RUNDATE/fsimage.txt -p Delimited -delimiter '@'
因为fsimage有很多数据。从这里可以找到HDFS中每个文件的文件名和文件大小。
任何人都可以帮忙。
提前致谢....
答案 0 :(得分:0)
hadoop fs -find /tmp/fsimage size 64 -print
注意:我正在使用MapR Hadoop。如果Cloudera,Hortonworks,语法可能会持谨慎态度。
答案 1 :(得分: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';