我正在尝试使用Argo构建一个机器学习管道DAG。我遇到了一个问题,我需要将DAG中一个节点的值发送给其后续节点。假设ARGO DAG结构如下所示:
{ "apiVersion": "argoproj.io/v1alpha1", "kind": "Workflow", "metadata": { "generateName": "workflow01-" }, "spec": { "entrypoint": "workflow01", "arguments": { "parameters": [ { "name": "log-level", "value": "INFO" } ] }, "templates": [ { "name": "workflow01", "dag": { "tasks": [ { "name": "A", "template": "task-container", "arguments": { "parameters": [ { "name": "model-type", "value": "INTENT-TRAIN" } ] } }, { "name": "B", "template": "task-container", "dependencies": ["A"], "arguments": { "parameters": [ { "name": "model-type", "value": "INTENT-EVALUATE" } ] } } ] } }, { "name": "task-container", "inputs": { "parameters": [ { "name": "model-type", "value": "NIL" } ] }, "container": { "env": [ { "name": "LOG_LEVEL", "value": "{{workflow.parameters.log-level}}" }, { "name": "MODEL_TYPE", "value": "{{inputs.parameters.model-type}}" } ] } } ] }}
A -> B
B中的计算依赖于A中计算出的值。
我如何将A中计算的值传递给B?
回答:
你可以使用Argo的“artifacts”来实现这一点 – 请查看示例:https://github.com/argoproj/argo-workflows/tree/master/examples#artifacts
另一种方法是设置共享卷:https://github.com/argoproj/argo-workflows/tree/master/examples#volumes