Apache Beam / Dataflow - 管道

时间:2018-02-13 13:15:51

标签: java google-cloud-dataflow apache-beam

我正在使用Aapche Beam(使用数据流运行器)下载二进制文件(天气预报,大约300个文件),然后解码它们,然后将结果存储为CSV,然后将CSV加载到{{1} }。

BigQuery

迁移到Dataflow的另一个原因是,工作人员可以轻松实现并行化。 整个流程花费了太多时间来执行。看一下日志,似乎我在数据流的整体理解中缺少一些部分。

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

如何在没有任何批处理的情况下告诉管道尽快处理元素?

1 个答案:

答案 0 :(得分:0)

  

如何在没有任何批处理的情况下告诉管道尽快处理元素?

我认为对于具有有界数据源的管道,没有任何办法可以做到这一点。以批处理模式运行的数据流作业将不允许元素在处理完所有元素之前继续进行下一次转换。保留已处理元素有一些中间步骤。我相信这是Dataflow如何保证处理所有元素的一部分。

  

尽快处理元素

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