也许你可以帮我解决我的问题
我通过API在google-dataproc上启动spark作业。该作业将结果写入Google数据存储区。
完成后,我想获取我的应用程序的回调。
你知道有什么办法吗?我不想每次都通过API跟踪作业状态。
预先感谢!
答案 0 :(得分:1)
我同意,如果等待诸如VM创建,集群创建,作业完成等操作完成时等待或获得回调,那将是很好的。出于好奇,您使用的是其中一个api客户端(例如google-cloud-java),还是直接使用REST API?
与此同时,我想到了两种解决方法:
1)Google云存储(GCS)回调
在创建文件时,GCS可以触发回调(Cloud Functions或PubSub notifications)。您可以在Spark作业结束时创建一个文件,然后将触发通知。或者,只需在将输出文件放在GCS上时添加一个触发器即可。
如果您仍在修改作业,则还可以在完成后直接将Spark作业回叫到您的应用程序。
2)使用gcloud命令行工具(可能不是Web服务器的最佳选择)
gcloud已经在等待作业完成。您可以使用gcloud dataproc jobs submit spark ...
提交并等待新工作完成,也可以使用gcloud dataproc jobs wait <jobid>
等待正在进行的工作完成。
话虽如此,如果您纯粹是在寻找用于选择是否运行其他作业的回调,请考虑使用Apache Airflow + Cloud Composer。
通常,您向我们介绍了您要完成的工作越多,我们就能为您提供更好的帮助:)