Как остановить Hadoop cat: невозможно записать в выходной поток автоматически при запуске цикла в оболочке? - PullRequest
0 голосов
/ 29 августа 2018

Я хочу написать цикл за оболочкой и выполнить команду 'hadoop fs -cat', но когда она закончится, будет показано 'cat: Unable to write to output stream', чтобы он не мог перейти к следующему шаг в петле. и мне нужно с помощью Ctrl + C, чтобы остановить его вручную. так как остановить Hadoop cat: невозможно записать в выходной поток автоматически при запуске цикла в оболочке?

и оболочка ниже:

 for i in {00..23}; do
     echo "$i";
     mkdir $i
     cd $i
     hadoop fs -cat hdfs://xxxx/20180816/$i/*.gz | zcat | head -60000 > tmp1
     cd -
 done

1 Ответ

0 голосов
/ 29 августа 2018
for i in {1..2}  
do  
echo "$i" 
mkdir $i  
cd $i  
hadoop fs -get /user/sandeep1/${i}.gz  
gunzip -f ${i}.gz  
rm ${i}.gz  
hadoop fs -rm -r /user/sandeep1/${i}  
hadoop fs -mkdir /user/sandeep1/${i}  
hadoop fs -put * /user/sandeep1/${i}  
hadoop fs -cat /user/sandeep1/${i}/* | head -n 1 > tmp1.txt  
cd ..  
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...