关于flink内的最佳实践和效率,什么时候将分析分解为多个任务有什么建议例如,给定Kafka中的单个主题作为数据源。如果有许多简单的操作要在流上执行,例如:如果某个值大于x,或者x&y等等,那么在什么时候停止在同一个任务中花费更多的规则并开始并行运行它们?对此有什么官方建议吗?
ercv8c1e1#
很难给出一般性的建议。就绩效而言,在一项工作中投入尽可能多的精力是有意义的。然而,更重要的是要考虑维护。我会把所有的工作都放在一个密切相关的工作中,这样新的功能或错误修复可能只会影响一个工作,同时,你也不想在升级一个特定的查询时停止所有的分析。要考虑的另一个维度是状态大小。它与重启和更新频率有关(见上文)。如果状态大小变得太大,重新启动这个庞大的作业需要很长时间,如果只触及代码的一小部分,这将是低效的。最后,还取决于相关性。如果你工作的某个部分非常重要,因为它反映了推动你的业务的一个关键绩效指标,那么你可能不想把它与一些脆弱的、不重要的部分混为一谈。
1条答案
按热度按时间ercv8c1e1#
很难给出一般性的建议。就绩效而言,在一项工作中投入尽可能多的精力是有意义的。
然而,更重要的是要考虑维护。我会把所有的工作都放在一个密切相关的工作中,这样新的功能或错误修复可能只会影响一个工作,同时,你也不想在升级一个特定的查询时停止所有的分析。
要考虑的另一个维度是状态大小。它与重启和更新频率有关(见上文)。如果状态大小变得太大,重新启动这个庞大的作业需要很长时间,如果只触及代码的一小部分,这将是低效的。
最后,还取决于相关性。如果你工作的某个部分非常重要,因为它反映了推动你的业务的一个关键绩效指标,那么你可能不想把它与一些脆弱的、不重要的部分混为一谈。