获得某条指令的运行进度

后台获得sqoop导入数据的进度——实际上是通过获得sqoop输出的状态信息(这里需要记住的是sqoop输出在终端的东西是stderr标准错误信息,而不是stdout标准输出信息),得知现在大致的运行阶段。

sqoop import --connect jdbc:mysql://10.0.3.100:3306/sqoop --username hive --password hive --table hadoop_related 2>&1 | ./rd.sh

将sqoop的标准错误信息转为标准输出信息,通过管道传给信息处理文件rd.sh(以标准输入的形式),该文件的内容如下

#!/bin/sh
while read line
do
        echo $line >> ./os.txt
        tail -1 ./os.txt
done

循环读取标准输入的每一行,写入到文件中,每次读取文件最后一行。

猜你喜欢

转载自blog.csdn.net/Jackie_Rose/article/details/51008027