首页 > 解决方案 > Apache Beam 中的推测执行

问题描述

我在 Apache Beam 文档中没有看到任何关于推测执行的内容。但是这篇文章声称它有类似的东西。

ParDo 转换是容错的,即如果它崩溃,它会重新运行。转换还有一个推测执行的概念(阅读 Spark 中的推测执行,两者都是相似的基础知识)。对给定数据集子集的处理可以随时在 2 个不同的工作人员上执行。来自最快工人的结果稍后会被使用,而速度较慢的工人会被丢弃。在这种情况下,重要的是要强调 ParDo 实现必须意识到对同一数据子集的并行执行。

这是真的吗?

标签: google-cloud-dataflowapache-beam

解决方案


我相信这speculative execution是数据处理引擎的责任,而不是 Beam。但是,Beam 转换的要求之一是幂等,因为Beam 模型不能保证您的用户代码可能被调用或重试的次数请参阅转换要求)。


推荐阅读