我需要获取当前正在运行的作业名称列表,但是hadoop -job list
给我一份jobID列表.
有没有办法获得正在运行的工作的名称?
有没有办法从jobID获取作业名称?
AnthonyF.. 26
我必须多次这样做,所以我想出了以下命令行,你可以在某个地方放入一个脚本并重用.它打印jobid,后跟作业名称.
hadoop job -list | egrep '^job' | awk '{print $1}' | xargs -n 1 -I {} sh -c "hadoop job -status {} | egrep '^tracking' | awk '{print \$3}'" | xargs -n 1 -I{} sh -c "echo -n {} | sed 's/.*jobid=//'; echo -n ' ';curl -s -XGET {} | grep 'Job Name' | sed 's/.* //' | sed 's/
//'"
直截了当 (4认同)
David Ongaro.. 8
如果您使用Hadoop YARN请勿使用mapred job -list
(或其弃用版本hadoop job -list
)
yarn application -appStates RUNNING -list
这也打印出应用程序/作业名称.对于mapreduce应用程序,您可以JobId
通过替换with 的application
前缀来获取相应的.Application-Id
job
我必须多次这样做,所以我想出了以下命令行,你可以在某个地方放入一个脚本并重用.它打印jobid,后跟作业名称.
hadoop job -list | egrep '^job' | awk '{print $1}' | xargs -n 1 -I {} sh -c "hadoop job -status {} | egrep '^tracking' | awk '{print \$3}'" | xargs -n 1 -I{} sh -c "echo -n {} | sed 's/.*jobid=//'; echo -n ' ';curl -s -XGET {} | grep 'Job Name' | sed 's/.* //' | sed 's/
//'"
如果您使用Hadoop YARN请勿使用mapred job -list
(或其弃用版本hadoop job -list
)
yarn application -appStates RUNNING -list
这也打印出应用程序/作业名称.对于mapreduce应用程序,您可以JobId
通过替换with 的application
前缀来获取相应的.Application-Id
job