gpt4 book ai didi

java - Apache Beam/Dataflow - 管道中步骤之间的延迟

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:44 25 4
gpt4 key购买 nike

我使用 Aapche Beam(带有数据流运行程序)下载二进制文件(天气预报,大约 300 个文件),然后对其进行解码,然后将结果存储为 CSV,最后将 CSV 加载到 BigQuery 中。

------------      ----------      --------------      -------------------
| Download | ---> | Decode | ---> | CSV in GCS | ---> | CSV to BigQuery |
------------ ---------- -------------- -------------------

迁移到 Dataflow 的原因之一是工作人员之间易于并行化。整个流程执行起来花费了太多时间。看看日志,我似乎遗漏了对数据流的整体理解中的一些部分。

我认为一旦上游的元素完成,它就可以立即用于下游处理(至少使用默认配置)。但是,我的元素在处理后无法直接提供给下游。

如何告诉管道在元素可用时立即处理元素,而不进行任何批处理?

最佳答案

How can I tell the pipeline to process elements as soon at they are available, without any sort of batching ?

我认为没有任何方法可以为具有有限数据源的管道执行此操作。在处理完所有元素之前,以批处理模式运行的数据流作业将不允许元素继续进行下一个转换。有一些中间步骤来保存已处理的元素。我相信这是 Dataflow 确保处理所有元素的一部分。

process elements as soon at they are available

这只是一个以流模式运行的 Dataflow 作业(无界数据源)。

关于java - Apache Beam/Dataflow - 管道中步骤之间的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48767717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com