如何安排spark-submit执行到特定时间

时间:2016-11-10 21:42:31

标签: python apache-spark

我使用AWS EMR集群中的spark-submit执行Spark批处理代码(基本上是模型培训)。现在我希望能够在特定时间每天启动这项工作。 这样做的标准方法是什么? 我应该更改代码并在代码中添加调度吗?或者有没有办法安排火花提交工作? 或者我应该每24小时执行一次Spark Streaming作业?(虽然我对特定时段感兴趣,即晚上11点到12点之间)

2 个答案:

答案 0 :(得分:2)

Cron更传统......虽然它很好,但另一种方式/选项是RunDeck

使用Rundeck作为Cron的更易管理和更安全的替代品,或者替代Control-M或HP Operations Orchestration等传统工具。 Rundeck为您的用户提供了一个简单的Web界面(GUI或API),可用于按需和预定的操作任务。

什么是Rundeck?

Rundeck是一款开源软件,可帮助您自动化数据中心或云环境中的日常操作流程。 Rundeck提供了许多功能,可以减轻耗时的工作量,使您可以轻松扩展自动化工作并为他人创建自助服务。团队可以协作分享流程如何自动化,而其他人则可以信任查看运营活动或执行任务。

Rundeck允许您从基于Web或命令行界面的任意数量的节点上运行任务。 Rundeck还包括其他功能,可以轻松扩展您的自动化工作,包括:访问控制,工作流程构建,日程安排,日志记录以及与节点和选项数据的外部源集成。

enter image description here enter image description here

答案 1 :(得分:1)

如果您使用的是Linux,则可以设置Cron作业来调用spark-submit脚本 http://kvz.io/blog/2007/07/29/schedule-tasks-on-linux-using-crontab/