You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dolphinscheduler.apache.org by Mad <10...@qq.com> on 2020/07/02 09:00:16 UTC

回复: 任务结果/变量传递方案讨论

This is the URL of the image in the project proposal:https://isrc.iscas.ac.cn/gitlab/summer2020/students/proj-2002015/-/wikis/pic


About question 1:
'The execution process of task instances is serial' means that no variables of multiple nodes will be passed to the same variable of the same node,&nbsp;Although node A and node B can run at the same time, it can still be considered serial. For example, A and B are passed parameters to C after execution, and A is passed to C through global variables after execution. This process has nothing to do with B Conflict.


About question 2:
I think you are right, each parameter corresponds to a global variable one by one, and the function can be easily achieved, but this will cause the global variable to be wasted (although it does not take up much memory), the method of obtaining the number of global variables Similar to the variable pool, the number of global variables can be saved to the greatest extent, and in some extreme cases, a lot of global variables can be saved.

回复: 回复: 任务结果/变量传递方案讨论

Posted by Mad <10...@qq.com>.
I think it's right, just make it static as you said

Re: 回复: 任务结果/变量传递方案讨论

Posted by wu shaoj <ga...@apache.org>.
Don't understand it cleayly. 
'The execution process of task instances is serial' means that task instance executes one by one, right? Don't use the ambiguous presentation.
Every DAG should have one global variable set, let's say it's {key1,key2,key3,key4}, task under the DAG can read & update one of them, right? 
The global variable set should be static, not dynamic I suggest.


On 2020/7/2, 17:02, "Mad" <10...@qq.com> wrote:

    This is the URL of the image in the project proposal:https://isrc.iscas.ac.cn/gitlab/summer2020/students/proj-2002015/-/wikis/pic


    About question 1:
    'The execution process of task instances is serial' means that no variables of multiple nodes will be passed to the same variable of the same node,&nbsp;Although node A and node B can run at the same time, it can still be considered serial. For example, A and B are passed parameters to C after execution, and A is passed to C through global variables after execution. This process has nothing to do with B Conflict.


    About question 2:
    I think you are right, each parameter corresponds to a global variable one by one, and the function can be easily achieved, but this will cause the global variable to be wasted (although it does not take up much memory), the method of obtaining the number of global variables Similar to the variable pool, the number of global variables can be saved to the greatest extent, and in some extreme cases, a lot of global variables can be saved.