使用Cronjob(crontab)运行PySpark

受托

首先,我假设我们已经在SPARK_HOME设置了~/Desktop/spark-2.0.0基本上,我想使用Cronjob运行我的PySpark脚本(例如crontab -e)。我的问题是如何添加环境路径以使Spark脚本与Cronjob一起使用。这是我的示例脚本,example.py

import os
from pyspark import SparkConf, SparkContext

# Configure the environment
if 'SPARK_HOME' not in os.environ:
    os.environ['SPARK_HOME'] = '~/Desktop/spark-2.0.0'

conf = SparkConf().setAppName('example').setMaster('local[8]')
sc = SparkContext(conf=conf)

if __name__ == '__main__':
    ls = range(100)
    ls_rdd = sc.parallelize(ls, numSlices=10)
    ls_out = ls_rdd.map(lambda x: x+1).collect()

    f = open('test.txt', 'w')
    for item in ls_out:
        f.write("%s\n" % item) # save list to test.txt

我的bash脚本run_example.sh如下

rm test.txt

~/Desktop/spark-2.0.0/bin/spark-submit \
  --master local[8] \
  --driver-memory 4g \
  --executor-memory 4g \
  example.py

在这里,我想使用运行run_example.sh每分钟crontab但是,我在运行时不知道如何自定义路径crontab -e到目前为止,我仅看到此Gitbook链接我的Cronjob编辑器中有类似的内容,但是还没有运行我的代码。

#!/bin/bash

# add path to cron (this line is the one I don't know)
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/anaconda/bin

# run script every minutes
* * * * * source run_example.sh

提前致谢!

萨尔维什·苏曼(Sarwesh Suman)

您可以做的是,在您的.bashrc文件中的原始位置添加以下行。

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/anaconda/bin

那么您可以在crontab中有以下条目

* * * * * source ~/.bashrc;sh run_example.sh

该行将首先执行您的.bashrc文件,该文件将设置PATH值,然后将执行run_example.sh

或者,您可以仅在run_example.sh中设置PATH,

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/anaconda/bin
rm test.txt

~/Desktop/spark-2.0.0/bin/spark-submit \
  --master local[8] \
  --driver-memory 4g \
  --executor-memory 4g \
  example.py

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Cronjob正在运行,但没有供用户使用的crontab?

来自分类Dev

使用python运行crontab

来自分类Dev

使用crontab运行gsettings

来自分类Dev

Crontab-每季度运行一次cronjob

来自分类Dev

使用php将新的cronjob添加到crontab

来自分类Dev

使用crontab运行PHP文件

来自分类Dev

使用crontab运行PHP脚本

来自分类Dev

使用crontab运行PHP文件

来自分类Dev

使用crontab运行.sh脚本

来自分类Dev

使用cronjob定期运行Chrome扩展程序

来自分类Dev

使用cronjob定期运行Chrome扩展程序

来自分类Dev

使用cronjob在php文件中运行功能

来自分类Dev

无法使用crontab运行python脚本

来自分类Dev

使用Crontab运行简单的Python文件

来自分类Dev

无法使用crontab运行python脚本

来自分类Dev

Bash 脚本未使用 crontab 运行?

来自分类Dev

使用 crontab 仅从 .py 文件运行方法

来自分类Dev

使用 crontab 运行 2 个 python 脚本

来自分类Dev

使用cronjob一次运行Shell脚本

来自分类Dev

使用cronjob一次运行Shell脚本

来自分类Dev

CronJob没有运行

来自分类Dev

Cronjob没有运行

来自分类Dev

在csh中运行cronjob

来自分类Dev

从特定目录运行Cronjob

来自分类Dev

Cronjob无法正常运行

来自分类Dev

Bash从Cronjob依次运行

来自分类Dev

cron,crontab和cronjob之间的区别?

来自分类Dev

cron,crontab和cronjob之间的区别?

来自分类Dev

带有curl的Cronjob php文件可在浏览器中使用,但在crontab上却无法使用