gpt4 book ai didi

python - 如何在 Apache Spark 上部署并在特定时间运行 Python 脚本?

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:17 25 4
gpt4 key购买 nike

我有一组简单的 python 2.7 脚本。另外,我有一组linux节点。我想在特定时间在这些节点上运行这些脚本。

每个脚本都可以在每个节点上运行。该脚本无法同时在多个节点上运行。

所以,我想完成 3 个简单的任务:

  1. 部署脚本集。
  2. 在任何节点上在特定时间运行具有特定参数的主脚本。
  3. 脚本完成后获取结果。

看来我能够完成第一个任务了。我有以下代码片段:

import urllib
import urlparse
from pyspark import SparkContext


def path2url(path):
return urlparse.urljoin(
'file:', urllib.pathname2url(path))

MASTER_URL = "spark://My-PC:7077"
deploy_zip_path = "deploy.zip"
sc = SparkContext(master=("%s" % MASTER_URL), appName="Job Submitter", pyFiles=[path2url("%s" % deploy_zip_path)])

但我有问题。此代码立即启动任务。但我只想将脚本部署到所有节点。

最佳答案

  1. 我建议将用于部署 PySpark 脚本的代码保留在 PySpark 脚本之外。

  2. Chronos是一个在 Apache Mesos 上运行的作业调度程序。 Spark可以在Mesos上运行。 Chronos 将作业作为 shell 命令运行。因此,您可以使用指定的任何参数运行脚本。您需要将 Spark 和脚本部署到 Mesos 节点。然后,您可以使用 spark-submit 作为命令,通过 Chronos 运行提交 Spark 脚本。

  3. 您可以通过写入 PySpark 脚本中的某种存储机制来存储结果。 Spark 支持文本文件、HDFS、Amazon S3 等。如果 Spark 不支持您需要的存储机制,您可以使用支持的外部库。例如,我在 PySpark 脚本中使用 cassandra-driver 写入 Cassandra .

关于python - 如何在 Apache Spark 上部署并在特定时间运行 Python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30164983/

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