Moja struktura katalogów HDFS wygląda jak poniżej.Przechodzenie przez katalogi hdfs
/user/hive/warehouse/check.db/abcd/date=2015-02-02/xyz=hijk/000000_0 /user/hive/warehouse/check.db/abcd/date=2015-02- 02/xyz = pqrs/000000_0
Próbuję przechodzić przez wszystkie katalogi w "/user/hive/warehouse/check.db/abcd" i wyprowadzić 2 pola i używam poniższego kodu.
INPUT='/user/hive/warehouse/check.db/abcd'
for dir in $(hadoop fs -ls $INPUT/*/ | grep -o -e "$INPUT/.*") ; do
xyz=$(echo $dir | cut -d '=' -f 3)
date=$(echo $dir | sed 's/.*date=\(.*\)\/xyz.*/\1/g')
done
Czy jest to najlepszy sposób, aby to zrobić, czy jest lepszy alternatywny sposób na zrobienie tego?