Как запустить скрипт Python после запуска приложения Scala Spark - PullRequest
0 голосов
/ 10 января 2019

Я хочу запустить скрипт на python сразу после запуска приложения spark scala.

Я пробовал

30 00 * * *  spark scala job command && python script2.py

но он не запускает скрипт Python

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Если ваш иск-отправка прошла успешно или нет, вы не получите ответ, используя "$?" в оболочке как статус. Чтобы получить статус вашей искровой работы, вам нужно запустить

yarn application -status <application id of the spark job> 

На основе результата, который вы запускаете, если [$ условие] Надеюсь, это поможет

0 голосов
/ 10 января 2019

Сначала у вас есть ошибка в вашей строке cron. Вам нужно иметь 3 *, а не 4

30 0 * * * ...

далее хорошая практика для 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

В отношении последней строки целесообразно разбить ее и выполнить глубокие проверки, если первая команда успешно завершила выполнение.

...