2015-05-21 97 views

回答

1

,如果你想找到最大尺寸的文件試試這個shell腳本:

h1out="/path/to/out/file/hadoop-ls-out.txt" 
a1out="/path/to/out/file/hadoop-awk-out.txt" 
h1="`hadoop fs -lsr /usr > $h1out`" 
a1="`awk '{print $5,$8}' $h1out > $a1out`" 
a2="`awk 'BEGIN{first=1;}{if (first) { max = min = $1; first = 0; next;}if (max < $1) max=$1; if (min > $1) min=$1; }END { print max }' $a1out`" 
g1="`grep -r $a2 $a1out`" 
echo $g1 

說明:

h1out是文件路徑存放hadoop fs -lsr輸出

a1out是存儲AWK輸出

h1列出了我的HDFS路徑遞歸文件在/usr和文件路徑存儲在h1out

a1打印的文件大小(完整路徑)從h1out文件保存在a1out文件中

a2找到分鐘從最大文件大小值,但我只使用max(因爲你需要最大),所以它僅顯示最大文件大小

g1用於$a2值搜索文件a1out並打印出來。此結果打印文件大小文件名稱max fileseize

注:如果您正在使用最新版本的Hadoop,以 「HDFS DFS」 替換 「Hadoop的FS

相關問題