首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用nohup命令自动执行spark作业序列

使用nohup命令自动执行spark作业序列
EN

Stack Overflow用户
提问于 2019-08-23 18:33:02
回答 1查看 488关注 0票数 1

我需要根据不同的文件分区将历史数据加载到hive表中。Spark submits目前正在使用nohup命令调用。我正在尝试创建一个脚本,其中将包含所有的nohup命令,这将执行成功后,第一个nohup命令。

我试过了

代码语言:javascript
运行
复制
nohup 1
if [ ? = 0 ]; then
nohup 2

但是下一个nohup2命令在nohup1中的spark作业完成之前就开始执行了。

当前脚本:

代码语言:javascript
运行
复制
nohup sh /home/spark_load1.sh
#After successful load1, start the next nohup
nohup sh /home/spark_load2.sh
#After successful load2, start the next nohup
nohup sh /home/spark_load3.sh

我想让第二个nohup只有在前一个nohup成功的情况下才会执行。

代码语言:javascript
运行
复制
nohup sh /home/spark_load1.sh
#After successful load1, start the next nohup
nohup sh /home/spark_load2.sh
#After successful load2, start the next nohup
nohup sh /home/spark_load3.sh
EN

回答 1

Stack Overflow用户

发布于 2019-12-07 22:25:02

这可以通过以下方式完成:

代码语言:javascript
运行
复制
nohup sh /home/spark_load1.sh && sh /home/spark_load2.sh && sh /home/spark_load3.sh

别忘了在末尾加上&和&,否则如果你的连接断开了,脚本就会停止。使用so name shebang来避免每次在shell外部运行也是一个很好的做法(将此作为shell脚本的第一行添加并使其可执行)

代码语言:javascript
运行
复制
#!/usr/bin/sh

在这种情况下,这行将会更短

代码语言:javascript
运行
复制
nohup /home/spark_load1.sh && /home/spark_load2.sh && /home/spark_load3.sh
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57624500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档