想要并行运行Apache Beam Pipeline

时间:2019-05-16 16:57:10

标签: java apache-beam

我的问题陈述是

1。需要从多个第三方来源获取数据/执行一些操作/将数据存储在某个位置

2。我需要为每个源创建专用的Beam管道

由于我不熟悉Beam,我的问题是

1。如果我为不同的第三方来源创建单独的管道,这会很好还是会引起一些问题?

2。如果设计正确,那么如果我在一台机器上运行run beam-runners-direct-java,它会像并行处理一样起作用吗?

1 个答案:

答案 0 :(得分:1)

Beam有一个支持许多不同来源的最终计划(最终它们甚至可以是跨语言的)。

对于您的问题,在一台计算机上并行运行多个Beam-runner-direct-java不会造成问题。实际上,所有验证测试都使用直接运行程序,并且这些测试确实并行运行。

尚不清楚的一件事是,您拥有创建多个管道(每个第三方来源一个)的主要原因是什么?如果原因是为了提高吞吐量而并行运行,我(有偏见)认为这不是一个好主意。从长远来看,即使我们引入了优化并行源的功能,您也将无法从opt中受益。