如何将一个节点的输出作为输入参数传递给 Argo 工作流 DAG 中的另一个节点
How do I pass output of one node as an input parameter to another node in Argo workflow DAG
我正在尝试使用 Argo 构建 ML 管道 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 的“工件”- 请参阅 https://github.com/argoproj/argo-workflows/tree/master/examples#artifacts
中的示例
另一种方法是设置共享卷:https://github.com/argoproj/argo-workflows/tree/master/examples#volumes
我正在尝试使用 Argo 构建 ML 管道 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 的“工件”- 请参阅 https://github.com/argoproj/argo-workflows/tree/master/examples#artifacts
中的示例另一种方法是设置共享卷:https://github.com/argoproj/argo-workflows/tree/master/examples#volumes