From c5108d1cfa9c3bc4dc9cafae44541f4a66ec9c34 Mon Sep 17 00:00:00 2001 From: Hari Sekhon Date: Wed, 31 Jul 2019 18:25:09 +0100 Subject: [PATCH] updated hdfs-du-viz.sh --- contrib/hdfs-du-viz.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/contrib/hdfs-du-viz.sh b/contrib/hdfs-du-viz.sh index bc84ec5a..d48952af 100755 --- a/contrib/hdfs-du-viz.sh +++ b/contrib/hdfs-du-viz.sh @@ -7,22 +7,22 @@ max_depth=5 -largest_root_dirs=$(hdfs dfs -du -s '/*' | sort -nr | perl -ane 'print "$F[1] "') +largest_root_dirs="$(hdfs dfs -du -s '/*' | sort -nr | perl -ane 'print "$F[1] "')" printf "%15s %s\n" "bytes" "directory" for ld in $largest_root_dirs; do - printf "%15.0f %s\n" $(hdfs dfs -du -s $ld| cut -d' ' -f1) $ld - all_dirs=$(hdfs dfs -ls -R $ld | egrep '^dr........' | perl -ane "scalar(split('/',\$_)) <= $max_depth && print \"\$F[7]\n\"" ) + printf "%15.0f %s\n" "$(hdfs dfs -du -s "$ld" | cut -d' ' -f1)" "$ld" + all_dirs="$(hdfs dfs -ls -R "$ld" | grep -E '^dr........' | perl -ane "scalar(split('/',\$_)) <= $max_depth && print \"\$F[7]\n\"" )" for d in $all_dirs; do - line=$(hdfs dfs -du -s $d) - size=$(echo $line | cut -d' ' -f1) + line="$(hdfs dfs -du -s "$d")" + size="$(cut -d' ' -f1 <<< "$line")" parent_dir=${d%/*} child=${d##*/} if [ -n "$parent_dir" ]; then - leading_dirs=$(echo $parent_dir | perl -pe 's/./-/g; s/^.(.+)$/\|$1/') + leading_dirs=$(perl -pe 's/./-/g; s/^.(.+)$/\|$1/' <<< "$parent_dir") d=${leading_dirs}/$child fi - printf "%15.0f %s\n" $size $d + printf "%15.0f %s\n" "$size" "$d" done done