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



我已经设置了一个2节点的独立Apache Flink集群。对于少量数据(70 MB),2 的并行度需要更多时间(2 分 30 秒)来处理,而 1 的并行度只需要 18 秒。对于少量数据,开销如何增加,为什么在大量数据的情况下开销微不足道?我想了解有关大型和小型数据情况下数据分布的更多详细信息,并表征性能。谢谢

我认为你所问的事情没有确切的答案。我将尽力解释自己,但我不是该领域的专家。

1)对于少量数据,开销如何增加,为什么在大量数据的情况下开销微不足道?

在大量数据中,开销微不足道,因为单个节点无法处理所有数据,如果节点无法处理所有数据,则可能发生两件事:

  1. 您删除数据并丢失它
  2. 该节点在您的系统中生成反向预处理,如果不对其进行管理,这可能是一个巨大的问题。

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

2)我想了解有关大数据和小数据情况下数据分布的更多详细信息,并表征性能。

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

  1. Flink 运行时
  2. Flink 可伸缩状态
  3. Flink 并行性

配置系统的方式和设计作业的方式将影响数据的分区和分发方式。

相关内容

  • 没有找到相关文章

最新更新