您可以从 Dataproc 触发 Python 脚本吗?

Can you trigger Python Scripts from Dataproc?

我正在试验 GCP。我有一个带有 Hadoop 的本地环境。它由存储在 HDFS 上的文件和一堆 python 调用 API 调用并触发 pig 作业的脚本组成。这些 python 作业是通过 cron 安排的。

我想了解在 GCP 中执行类似操作的最佳方法。我知道我可以使用 GCS 作为 HDFS 的替代品。 Dataproc 可用于启动 Hadoop 集群和 运行 Pig 作业。

是否可以将这些 Python 脚本存储到 GCS 中,使用类似 cron 的计划来启动 Hadoop 集群,并将 GCS 中的这些 Python 脚本指向 运行?

如果您正在 GCP 上寻找 cron 作业或工作流调度程序,请考虑:

  1. Cloud Scheduler 这是一个完全托管的 enterprise-grade cron 作业调度程序;

  2. Cloud Workflows 结合了 Google 云服务和 API,可轻松构建可靠的应用程序、流程自动化以及数据和机器学习管道。

  3. Cloud Composer 这是一个基于 Apache Airflow 构建的完全托管的工作流编排服务。

Cloud Scheduler 是最简单的一个,但可能最适合您的用例。 Cloud Workflows 与 Cloud Composer 有一些重叠,查看它们的主要区别以及如何选择 doc

我发现您可以通过 'submit pig' 作业将 Dataproc 用于 运行 Python 脚本。此作业允许您 运行 Bash 个脚本,您可以从中调用 Python 个脚本:

gcloud dataproc jobs submit pig --cluster=test-python-exec --region=us-central1 -e='fs -cp -f gs://testing_dataproc/main/execution/execute_python.sh file:///tmp/execute_python.sh; sh chmod 750 /tmp/execute_python.sh; sh /tmp/execute_python.sh'