我是不熟悉Spark的新手。我被要求研究现有程序并得到以下任务 1)file1.py 2)file2.py 版本是Spark2.0 在file1.py中,使用SparkSession启动Spark。 基本上,我必须从file1.py调用file2.py。我该怎么办?
在控制台中,我可以运行以下各个文件: Spark2-提交file1.py Spark2-提交file2.py 运行良好。但是以编程方式,如何从file1.py调用file2.py。
答案 0 :(得分:0)
您可以像这样设置shell作业中的依赖关系,尽管我没有运行脚本,但在逻辑上是这样工作的。希望这会有所帮助。
#./bin/sh
echo "Spark Job started ..."
echo "First Spark script-1 started ..."
spark2-Submit file1.py
if [ $? -eq 0 ]; then
echo "First Spark script-1 ran successfully..."
echo "Second Spark script-2 started ..."
spark2-Submit file2.py
if [ $? -eq 0 ]; then
echo "Second Spark script-2 ran successfully..."
else
echo "Second Spark script-2 failed ..."
exit 1
else
echo "First Spark script-1 failed ..."
exit 1
fi