我已经设置了一个2节点的独立Apache Flink集群。对于少量数据(70 MB),2 的并行度需要更多时间(2 分 30 秒)来处理,而 1 的并行度只需要 18 秒。对于少量数据,开销如何增加,为什么在大量数据的情况下开销微不足道?我想了解有关大型和小型数据情况下数据分布的更多详细信息,并表征性能。谢谢
我认为你所问的事情没有确切的答案。我将尽力解释自己,但我不是该领域的专家。
1)对于少量数据,开销如何增加,为什么在大量数据的情况下开销微不足道?
在大量数据中,开销微不足道,因为单个节点无法处理所有数据,如果节点无法处理所有数据,则可能发生两件事:
- 您删除数据并丢失它
- 该节点在您的系统中生成反向预处理,如果不对其进行管理,这可能是一个巨大的问题。
因此,如果您有多个节点处理所有传入的数据,则可以在数据到达后立即处理该数据,数据不会等待节点处理它。这就是为什么开销微不足道的原因。
2)我想了解有关大数据和小数据情况下数据分布的更多详细信息,并表征性能。
数据的分布很难解释,因为它在很大程度上取决于您在做什么以及系统的配置。阅读以下文档:
- Flink 运行时
- Flink 可伸缩状态
- Flink 并行性
配置系统的方式和设计作业的方式将影响数据的分区和分发方式。