我想在运行spark scala应用程序之后运行python脚本。
我试过了
30 00 * * * spark scala job command&& python script2.py但它不运行python脚本
无论您的spark-submit是否成功运行,您都无法使用“$?”获得答案。在shell中作为状态。要获得您需要运行的火花作业的状态
yarn application -status <application id of the spark job>
根据结果运行if [$ condition] 希望有所帮助
首先你的cron行有错误。你需要3 * ,而不是4
*
30 0 * * * ...
接下来的良好做法 cron 是创建将运行命令的shell脚本。并在此脚本中添加您的采购 .bashrc 和/或 .bash_profile 将环境变量设置为与登录操作系统时相同。 一个示例脚本将如下所示:
cron
.bashrc
.bash_profile
#!/bin/bash . /path/to/your/home/directory/.bashrc # also you can try # . /path/to/your/home/directory/.bash_profile spark scala job command >/tmp/logfile retcode=$? if [ "$errcode -eq 0 ] then python script2.py fi
关于最后一行,如果第一个命令成功完成执行,拆分它并进行深度检查是明智的。