google-cloud-dataflow - Apache Beam 批处理早期输出?
问题描述
无论如何在批处理模式下运行时触发窗口的早期输出?我已经使用 Dataflow 运行器尝试了许多触发器以获得早期窗口输出,但它们始终保持到处理结束。
解决方案
与流式处理不同,Dataflow 批处理始终按拓扑顺序(包括 GroupByKey)执行整个(融合)阶段以完成。因此,一旦它在 GBK 之后开始处理键,它总是拥有该键的所有值,并使用键值对调用下游操作一次。Beam 中的触发器是一个窗口的数据可以多快发布的下限,但不强制提前发布(因此命名为After Count、After Watermark 等),因此批处理模型在技术上满足与一次且只有一次“开火”。
在批处理模式下,不可能在 Dataflow(或我知道的任何其他运行器)上获得早期窗口输出。
推荐阅读
- batch-file - 批处理文件从另一个文件的文件中添加一列,第一个字段匹配,第二个文件具有大列
- terraform - 在 oci 中获取子网值时出现 Terraform 错误
- flutter - 如何在 id 匹配的颤振中显示列表
- angular - 节点伪造 AES 数据解密不返回原始数据。角/打字稿
- apache-spark - Spark SQL中的多列分区无法正常工作
- r - 具有随机布尔值的新列,同时控制每个类别的 TRUE/FALSE 比率
- javascript - 反应 - onClick setTimeout/如果有一个清除旧超时
- debian - 在 dpkg-buildpackage DEB_BUILD_OPTIONS=nocheck 之后手动执行检查
- c# - 为什么 SQLiteConnection.Update(client) 不更新表条目?
- python - 在 VS Code 中调试时在烧瓶中预运行钩子(on_starting gunicorn 等效项)