【问题标题】:How do you drain a dataflow job through the gcloud api?您如何通过 gcloud api 排空数据流作业?
【发布时间】:2018-01-24 00:51:24
【问题描述】:

是否可以通过 gcloud api 排空正在运行的数据流作业?具体来说,是否有一个 python 实现,或者请求结构的文档,以便可以实现它?如果能够在不使用 cli 的情况下自动排空和重新配置数据流流作业,那就太好了。

【问题讨论】:

    标签: google-cloud-platform google-cloud-dataflow


    【解决方案1】:

    感谢this similar answer,我能够通过Rest Update API 排出正在运行的数据流。

    POST 更新请求的正文:

    { "requestedState": "JOB_STATE_DRAINING" }

    【讨论】:

    • 嗨@Thierry Falvo。我想在 Dataflow 中运行批处理作业,以处理有一天可能会变得庞大的小型数据集。在批处理模式下,数据流需要在运行作业之前启动虚拟机,这对于小数据集的处理来说真的很不幸。但是,将这种可能性视为运行流式作业,然后在稍后耗尽该作业可能是一件好事。你认为这会有所帮助吗?
    • 嗨@d4nielfr4nco,我真的不确定。流或批处理模式下的数据流将在后台消耗虚拟机,并且您将按 vCPU / 小时计费。通常你不应该关心VM启动,但最终成本是主要的重要事情。使用 Apache Beam v2,发布/订阅管道仅在流模式下可用。所以我关心的是如何优化流模式的成本,因为它不会扩展到 0。(即使没有关于主题的消息,你也会被收费)。所以这就是为什么我一直在寻找一种方法来开始并每天消耗它几次......希望我的评论是明确和相关的;-)
    • 另请参阅我的问题“Cloud Dataflow 流式传输作业可以缩放到零吗?” : "stackoverflow.com/questions/52292952/…
    • 是的,我认为成本对于我的特定用例来说会更重要,所以批量是要走的路。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多