将很多段逻辑sql放在一个hive文件执行 终止提交的任务做法

背景: hive工作中,将很多etl 脚本写在一起,然后整体提交,提交后突然后悔想取消

eg:

qyjssum.sh:

sudo -u hdfs hive -e "

扫描二维码关注公众号,回复: 362530 查看本文章

    use ste_qyjs;

    清洗逻辑1.....

    清洗逻辑2....

    清洗逻辑3......

"

调用写法:

nohup /cloud/qyjs_sum_generate.sh > /cloud/qyjs_sum_generate.log  2>&1 &

tail -f  /cloud/qyjs_sum_generate.log 

一般想杀死用:

ps  -ef | grep qyjs_sum_generate.sh

此时会出现三个进程描述信息和ID,

第一个是 grep这条语句的进程

第二个是上面 nohup调用grep qyjs_sum_generate.sh 的进程

第三个是这个任务提交成mr任务的进程

一般直 kill -9 第二个 第三个进程即可,

但是昨天我用这种方式杀不死,现象是:

   清洗逻辑1.....  

    清洗逻辑2....

    清洗逻辑3......

杀死了这个进程后,  清洗逻辑2的进程提交上去,然后杀死清洗逻辑2的 清洗逻辑3的有提交上去,

具体原因我不知道,但是最后的做法就是:

hadoop job -list 查看产生的 hadoop job

然后用 hadoop job -kill jobid方式 出现一个杀死一个 这种方式实现完全杀死整个sh里面的任务。

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2287923