登录
首页 >  Golang >  Go问答

通过编程取消 PySpark DataProc 批处理作业

来源:stackoverflow

时间:2024-02-06 15:54:22 343浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《通过编程取消 PySpark DataProc 批处理作业》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

使用 golang,我运行了多个 dataproc 批处理作业,我可以通过创建这样的客户端来通过其 uuid 访问它们。

batchclient, err := dataproc.newbatchcontrollerclient(context, ...options)

如果我想删除批处理作业,我可以使用谷歌云的 golang 客户端库来完成,如下所示(请求正文包含批处理的 uuid)

_, err := batchclient.deletebatch(context, request, ...options)

但是,似乎没有任何方法可以取消已经以编程方式运行的批处理。如果我尝试删除已在运行的批处理,我会正确地收到 failed_precondition 错误

现在,我知道 google 云的 sdk cli 有一个简单的方法可以取消这样的作业:

gcloud dataproc batches cancel (BATCH : --region=REGION) [GCLOUD_WIDE_FLAG …]

不幸的是,这种方法不太适合我的应用程序。


正确答案


dataproc golang 客户端库 2.0 版中添加了无服务器作业处理功能。

要访问此版本,必须更新以下软件包:

dataproc "cloud.google.com/go/dataproc/v2/apiv1"

    dataprocpb "cloud.google.com/go/dataproc/v2/apiv1/dataprocpb"

之后,提供的批处理客户端.canceloperation 可用于取消无服务器批处理作业,使用与删除批处理作业相同的客户端,如下所示:

err := batchClient.CancelOperation(context, request, ...options)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>