如何修改apache光束DirectRunner以使其更快?

时间:2017-08-04 13:29:45

标签: apache-beam

我们正在使用apache beam构建一个框架,并且有一些我们根本不需要的用例(例如后期数据)。然而,我们需要的是快速的性能。

我试图将DirectRunner修改得更快。到目前为止,我已经评论了Metrics和Enforcements,它们的性能略有提升。我们还删除了SynchronizedProcessingTimeOutputWatermark和SynchronizedProcessingTimeInputWatermark而不影响我们的用例,这表明可能会删除更多(Watermarks?Holds?)。

我意识到这是一个相当模糊的问题,但我还能删除什么才能让它更快?

1 个答案:

答案 0 :(得分:0)

您是否尝试在用例上使用分析器运行它?这些将识别影响您的表现的热点。

您应该知道编写DirectRunner是为了演示模型并验证管道代码。它没有以性能或可扩展性为目标。如果您希望有效地运行Beam管道,您可能需要查看其中一个分布式运行程序(例如Spark,Flink,Dataflow等),因为它们在大数据上的性能都会更好。