Spark 作业回调

Spark job callback


也许你可以帮我解决我的问题
我通过 API 在 google-dataproc 上启动 spark 作业。此作业将结果写入 google 数据存储。
当它完成时,我想得到一个回调到我的应用程序。
你知道有什么方法可以得到它吗?我不想每次都通过 API 跟踪工作状态。
提前致谢!

我同意,如果在 VM 创建、集群创建、作业完成等操作完成时等待或获得回调,那就太好了。出于好奇,您是使用 api 客户端之一(如 google-cloud-java),还是直接使用 REST API?

与此同时,我想到了几个解决方法:

1) Google 云存储 (GCS) 回调

GCS 可以在您创建文件时触发回调(Cloud Functions or PubSub notifications)。您可以在 Spark 作业结束时创建一个文件,该文件随后会触发通知。或者,只需在将输出文件放在 GCS 上时添加一个触发器。

如果您无论如何都要修改作业,您也可以让 Spark 作业在完成后直接回调到您的应用程序。

2) 使用 gcloud 命令行工具(可能不是网络服务器的最佳选择)

gcloud 已在等待作业完成。您可以使用 gcloud dataproc jobs submit spark ... 提交并等待新作业完成,或使用 gcloud dataproc jobs wait <jobid> 等待正在进行的作业完成。

话虽这么说,如果您纯粹是在寻找选择是否 运行 另一份工作的回调,请考虑使用 Apache Airflow + Cloud Composer

一般来说,您告诉我们您想要完成的目标越多,我们就能更好地帮助您:)