【问题标题】:Correct way to define an apache beam pipepline定义 apache 光束管道的正确方法
【发布时间】:2019-07-06 12:49:56
【问题描述】:

我是 Beam 新手,正在努力寻找许多好的指南和资源来学习最佳实践。

我注意到有两种方式定义管道:

with beam.Pipeline() as p:
# pipeline code in here

或者

p = beam.Pipeline()
# pipeline code in here
result = p.run()
result.wait_until_finish()

是否有特定情况下首选每种方法?

【问题讨论】:

标签: python google-cloud-dataflow apache-beam


【解决方案1】:

从代码 sn-ps 中,我看到主要区别在于您是否关心管道结果。如果您想使用 PipelineResult 监控管道状态或通过您的代码取消您的管道,您可以转到第二种样式。

【讨论】:

    【解决方案2】:

    我认为它们在功能上是等效的,因为管道上下文管理器的 __exit__ 函数正在执行相同的代码。 https://github.com/apache/beam/blob/master/sdks/python/apache_beam/pipeline.py#L426

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多