Argo 中工件输出的动态 "Fan-In"?
Dynamic "Fan-In" for artifact outputs in Argo?
我有一个带有动态扇出任务的 Argo 工作流,这些任务执行一些地图操作(在 Map-Reduce 含义上下文中)。我想创建一个聚合其结果的减速器。当每个映射器的输出很小并且可以作为输出参数时,可以这样做。有关操作方法的说明,请参阅 。
但是如何使用 Argo 聚合输出 artifacts 而无需编写将它们写入每个 mapper 中的某个存储并在 reducer 中读取的自定义逻辑?
工件比参数更难聚合。
参数始终是文本并且通常很小。这使得 Argo Workflows 可以轻松地将它们聚合到单个 JSON 对象中,然后可以通过“减少”步骤使用该对象。
另一方面,工件可以是任何类型或大小。因此,Argo Workflows 对聚合的帮助有限。
它提供的主要相关功能是声明性存储库 write/read 操作。例如,您可以指定一个 S3 前缀来写入每个参数。然后,在减少步骤中,您可以从该前缀加载所有内容并执行聚合逻辑。
Argo Workflows 提供了 generic map/reduce example。但是除了神器 writing/reading,你几乎必须自己做聚合逻辑。
我有一个带有动态扇出任务的 Argo 工作流,这些任务执行一些地图操作(在 Map-Reduce 含义上下文中)。我想创建一个聚合其结果的减速器。当每个映射器的输出很小并且可以作为输出参数时,可以这样做。有关操作方法的说明,请参阅
但是如何使用 Argo 聚合输出 artifacts 而无需编写将它们写入每个 mapper 中的某个存储并在 reducer 中读取的自定义逻辑?
工件比参数更难聚合。
参数始终是文本并且通常很小。这使得 Argo Workflows 可以轻松地将它们聚合到单个 JSON 对象中,然后可以通过“减少”步骤使用该对象。
另一方面,工件可以是任何类型或大小。因此,Argo Workflows 对聚合的帮助有限。
它提供的主要相关功能是声明性存储库 write/read 操作。例如,您可以指定一个 S3 前缀来写入每个参数。然后,在减少步骤中,您可以从该前缀加载所有内容并执行聚合逻辑。
Argo Workflows 提供了 generic map/reduce example。但是除了神器 writing/reading,你几乎必须自己做聚合逻辑。