我有一个用 Python 编写的 SDF:
class Foo(DoFn):
def process(element: Pipeline) -> Iterable[str]:
...
根据文档,SDF 用于实现 IO。对于我的 IO,我不需要将输入元素传递给 DoFn。
将 SDF 添加到管道的唯一选项似乎是 ParDo
:
p | ParDo(Foo())
这样做会失败,因为它需要一个窗口,但该窗口不存在。即使手动添加窗口,在做出其他假设时它仍然会失败。
那么如何编写一个没有任何输入元素的 SDF 并将其直接添加到 Pipeline 中?
最佳答案
您可以输入一条记录来触发该事件,该记录会被 Splittable DoFn
忽略。
或者,您可以尝试使用 Impulse变换。
关于python - 将 SDF 添加到管道,而无需传递虚拟输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68307681/