作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在远程位置使用 ssh 连接执行 spark 作业。
在某些情况下,作业失败但调度程序将其标记为“成功”,因此我想检查 spark-submit 的返回码,以便我可以强行使其失败。
下面是我使用的代码
def execute_XXXX():
f = open('linux.pem','r')
s = f.read()
keyfile = StringIO.StringIO(s)
mykey = paramiko.RSAKey.from_private_key(keyfile)
sshcon = paramiko.SSHClient()
sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshcon.connect('XXX.XXX.XXX.XXX', username='XXX', pkey=mykey)
stdin, stderr, stdout= sshcon.exec_command('spark-submit XXX.py')
logger.info("XXX ------>"+str(stdout.readlines()))
logger.info("Error--------->"+str(stderr.readlines()))
如何获取 spark-submit 作业的返回码,以便我可以强制使任务失败。或者您能否建议替代解决方案。
谢谢,切坦
最佳答案
这就是我解决我面临的问题的方法。一个简单的 1 行代码就足够了。
def execute_XXXX():
f = open('linux.pem','r')
s = f.read()
keyfile = StringIO.StringIO(s)
mykey = paramiko.RSAKey.from_private_key(keyfile)
sshcon = paramiko.SSHClient()
sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshcon.connect('XXX.XXX.XXX.XXX', username='XXX', pkey=mykey)
stdin, stderr, stdout= sshcon.exec_command('spark-submit XXX.py')
if (stdout.channel.recv_exit_status())!= 0:
logger.info("XXX ------>"+str(stdout.readlines()))
logger.info("Error--------->"+str(stderr.readlines()))
sys.exit(1)
关于linux - 如何从 spark-submit 获取返回码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43321182/
我是一名优秀的程序员,十分优秀!