gpt4 book ai didi

apache-spark - 运行计划的 Spark 作业

转载 作者:行者123 更新时间:2023-12-03 07:26:52 24 4
gpt4 key购买 nike

我有一个 Spark 作业,它读取源表,执行大量映射/展平/化简操作,然后将结果存储到我们用于报告的单独表中。目前,此作业使用 spark-submit 脚本手动运行。我想安排它每晚运行,以便在一天开始时预先填充结果。我是:

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

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

任何建议表示赞赏!

最佳答案

您可以使用 cron 选项卡,但实际上,当您开始进行依赖于其他 Spark 作业的 Spark 作业时,我建议使用 pinball 进行协调。 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. 插入 30 1 * * */PATH/TO/SCRIPT.sh $CLASS "yarn-client"

关于apache-spark - 运行计划的 Spark 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30375571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com