And another interesting one: Is it possible that a...
# questions
f
And another interesting one: Is it possible that a
node
has a (dynamic)
Parameter
as output? E.g. I have multiple "normal" parameters defined which serve as input into a
process_params
node. That node should - dependend on the normal parameter inputs - output a single parameter which might serve as input to other nodes. Currently - by simply outputting that "parameter" value - this is by default a
MemoryDataSet
1
Easier question: Is there a way to have dynamic parameters at all? So a defined one in
parameters.yml
with a default value, but that it can be modified and outputted by a node?
n
Why do you need it as a parameter? As you said it’s not a “normal” parameter and is an input to other nodes.
f
As it is handled as a
MemoryDataSet
I cannot say I need it. But in my use case - logically - that unit of information is a parameter and not part of any dataset. So it would be nice to treat it as a parameter type (pot. nice for ipython session/kedro-viz/mlflow extension,...)
n
It’s possible to do it via hook, tho we generally don’t recommend doing a lot of dynamic parameters, this makes pipeline hard to debug and reason. kedro-viz provide you a static view about the pipeline, when you add more dynamic behavior it starts to diverge from the view as well.
f
Thank you for your input. So you recommend to stick to a (Memory)DataSet for "dynamic information" which is not data itself, in general?
n
Yes, I guess the name of
MemoryDataSet
make it sounds more like a dataset, but it could really be just treated as a python variable. In general I also do this combined with some convention, i.e. for Dataset I use CAPITAL, and anything in memory just using a lower case, same as python variable name convention.