当前位置: 首页 > 知识库问答 >
问题:

Google云数据流-Apache Beam-管道关闭挂钩

柯良骏
2023-03-14

想知道是否有某种“钩子”来放置apache beam管道关闭时将执行的一段代码(无论出于何种原因-崩溃、取消)

每次数据流停止时,我都需要删除pubsub主题的订阅。

共有2个答案

许俊晤
2023-03-14

这里有一些等待管道完成并在apache/beam存储库的examples文件夹中的ExampleUtils类中管理Pubsub主题/订阅的示例。看看waitUntilFinish和tearDown方法中是否有可以使用的内容。

这是java代码-不确定这是否是您使用的语言。

(从长远来看,@Pablo将其与管道代码进一步分离的建议可能是最好的——也许取决于您在这里的确切目标。)

计向晨
2023-03-14

Apache Beam天生不适合这种流。为此,您可能需要查看编排引擎,例如Apache Airflow。

使用Airflow,您应该能够安排任何类型的脚本在梁管道完成/失败/取消后运行,等等。看看吧!

 类似资料:
  • 但是当我运行代码时,我会遇到以下异常: 你有什么想法会导致这种情况吗?

  • 当我执行这段代码时,它会在流管道中打开许多文件: 我得到一个例外: 问题是流。当完成对流的遍历时,count不关闭流。但我不明白为什么不应该,因为这是一个终端操作。对于其他终端操作,如和,也是如此<另一方面,代码>平面图关闭它所包含的流。 文档告诉我在必要时使用try with resources语句来关闭流。在我的例子中,我可以用以下内容替换计数行: 但这是嘈杂和丑陋的,在某些情况下,对于大型复

  • 目前,我在应用程序中使用guava EventBus方法。侦听器尝试做一些工作,如果失败,事件应该返回总线并重新发送 我的问题是:如果我的应用程序正在关闭(执行关闭),该怎么办?它会在总线中发送剩余的事件吗? 我正在寻找一些方法,例如在ActiveMQ中实现关闭how 代理是否应该安装一个关闭挂钩,以便在JVM终止时正确关闭自己 不幸的是,我没有在EventBus番石榴中找到类似的东西。

  • 在大约14个工作小时后,我有一个云数据流管道失败,下面是一条神秘的日志消息: 谢了!

  • 有人能帮我做这个吗?

  • tl;dr Apache Beam管道步骤涉及构建docker图像;如何使用谷歌数据流运行这个管道?存在哪些替代方案? 我目前正在尝试使用谷歌的数据流服务和apache梁(python)迈出第一步。 简单的例子很简单,但当外部软件依赖性开始发挥作用时,事情就会让我感到困惑。似乎可以使用自定义docker容器来设置自己的环境[1][2]。虽然这对大多数依赖项来说都很好,但如果依赖项是docker本身