Apache flink如何在节点之间分配数据?

问题描述 投票:0回答:1

我已经设置了一个2节点的独立Apache Flink集群。对于少量数据(70 MB),2的并行性需要更多时间(2分30秒)来处理,因为1的并行性仅需要18秒。对于少量数据,开销是多少以及为什么在大量数据的情况下无关紧要?我希望在大数据和小数据的情况下了解有关数据分布的更多细节并表征性能。谢谢

apache-flink
1个回答
0
投票

我不认为你问的问题有一个确切的答案。我会尝试尽我所能解释自己,但我不是该领域的专家。

1)对于少量数据,开销如何更多?为什么在大量数据的情况下它无关紧要?

由于单个节点无法处理所有数据,并且如果节点无法处理所有数据,则开销在大量数据中无关紧要,有两件事情可能发生:

  1. 您丢弃数据而丢失数据
  2. 该节点在您的系统中生成backpresure,如果不进行管理,这可能是一个巨大的问题。

因此,如果您有多个节点处理所有传入数据,您可以在数据到达时立即处理,数据不会等待节点处理它。这就是为什么开销微不足道。

2)我想知道有关大小数据的数据分布的更多细节,并表征性能。

数据的分布很难解释,因为它取决于你在做什么以及系统的配置。阅读以下文档:

  1. Flink runtime
  2. Flink Rescalable state
  3. Flink parallelism

配置系统的方式和设计工作的方法将影响数据的分区和分布方式。

© www.soinside.com 2019 - 2024. All rights reserved.