首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在运行计划的Spark作业

正在运行计划的Spark作业
EN

Stack Overflow用户
提问于 2015-05-21 21:44:26
回答 6查看 30K关注 0票数 36

我有一个Spark作业,它读取一个源表,执行一些map / flatten / reduce操作,然后将结果存储到我们用于报告的单独的表中。目前,此作业是使用spark-submit脚本手动运行的。我希望将其安排为每晚运行,以便在一天开始时预先填充结果。我有没有:

  1. 设置了一个cron作业来调用spark-submit脚本-
  2. 将计划添加到我的作业类中,以便它只提交一次,但每晚执行操作?
  3. 在Spark中是否有内置机制或单独的脚本可以帮助我执行此操作?

我们在独立模式下运行Spark。

非常感谢您的任何建议!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-05-22 00:26:56

在Spark中没有内置的机制可以提供帮助。对于你的情况来说,cron工作似乎是合理的。如果您发现自己不断地向计划的作业添加依赖项,请尝试Azkaban

票数 9
EN

Stack Overflow用户

发布于 2015-05-23 03:04:53

您可以使用cron选项卡,但实际上,当您开始使用依赖于其他spark作业的spark作业时,我建议使用弹球进行协调。https://github.com/pinterest/pinball

为了让一个简单的crontab正常工作,我将创建包装器脚本,如下所示

#!/bin/bash
cd /locm/spark_jobs

export SPARK_HOME=/usr/hdp/2.2.0.0-2041/spark
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HADOOP_USER_NAME=hdfs
export HADOOP_GROUP=hdfs

#export SPARK_CLASSPATH=$SPARK_CLASSPATH:/locm/spark_jobs/configs/*

CLASS=$1
MASTER=$2
ARGS=$3
CLASS_ARGS=$4
echo "Running $CLASS With Master: $MASTER With Args: $ARGS And Class Args: $CLASS_ARGS"

$SPARK_HOME/bin/spark-submit --class $CLASS --master $MASTER --num-executors 4 --executor-cores 4 $ARGS spark-jobs-assembly*.jar $CLASS_ARGS >> /locm/spark_jobs/logs/$CLASS.log 2>&1

然后通过以下方式创建crontab

  1. crontab -e
  2. Insert 30 1*** /PATH/TO/SCRIPT.sh $CLASS "yarn-client"
票数 13
EN

Stack Overflow用户

发布于 2016-08-16 03:43:19

只有当您不关心高可用性时,Crontab才足够好,因为它将在一台可能失败的机器上运行。

您在独立模式下运行的事实表明您没有安装hadoop和mesos,它们有一些工具可以使此任务更可靠。

crontab的一个替代方案(尽管目前它也存在高可用性问题)是airbnb的airflow。它就是为这样的用例而构建的(在其他用例中)参见这里:http://airflow.incubator.apache.org/scheduler.html

Mesos用户可以尝试使用chronos,这是集群的cron作业:https://github.com/mesos/chronos

还有来自hadoop world http://blog.cloudera.com/blog/2013/01/how-to-schedule-recurring-hadoop-jobs-with-apache-oozie/的oozie。

如果这是一个关键任务,你甚至可以自己编程,如果你使用consul/zookeper或其他提供领导者选举的工具-只是让你的进程在多台机器上运行,让它们竞争领导地位,并确保领导者提交工作给火花。

您可以使用spark作业服务器来使作业提交更加优雅:https://github.com/spark-jobserver/spark-jobserver

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30375571

复制
相关文章

相似问题

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