程序开发 · 2024年2月1日

google dataflow runner 支持 Statefull doFn 吗?

当前位置: > > > > google dataflow runner 支持 Statefull doFn 吗?

来源:stackoverflow
2024-04-21 21:24:35
0浏览
收藏

珍惜时间,勤奋学习!今天给大家带来《google dataflow runner 支持 Statefull doFn 吗?》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我无法使批处理 fn 在 Dataflow 上工作。我在 Go 中使用了示例中的一个:https://beam.apache.org/documentation/programming-guide/#state-timers-examples

dofn 接收元素并触发 OnTimer 一次,然后一切都卡住了(我可以通过日志看到它)。

我处于流媒体模式。所以我的第一个问题是 Dataflow 支持 Go 中的计时器吗?如果是的话我做错了什么?我从字面上复制了这个例子。

正确答案

好的,对于在 dataflow 上遇到相同问题的每个人,您必须添加此行作为 ontimer() 回调:

fn.OutputState.ClearTag(tp, timer.Tag) // Clean up the fired timer tag. (Temporary workaround for a runner bug.)

(此行出现在 github 上的示例中,但不在文档中)

本篇关于《google dataflow runner 支持 Statefull doFn 吗?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注公众号!