Hi
I was wondering if someone could help me with this.
I have a custom Avro Adapter that applies SQL on AVRO records. I register
all the UDFs as a scalar function today where I simply call
ScalarFunctionImpl.create(
calciteFunction.getClazz(), calciteFunction.getMethodName())));
But now I have some UDFs where I will need to pass some context for the
UDFs where these are parameters outside the UDF parameters.I was thinking
of passing this in a constructor argument, but unfortunately, when the
adapter code pushes down my UDFs for evaluation I don't see the constructor
argument. I need this to be available inside my `eval` function.
using static variables works locally and I can retrieve it. but in a
distributed world (spark) engine I see the value to be null. Is there a way
to pass parameters to scalar functions without having them being part of
the method signature?
I was wondering what would be the easiest way for me to achieve this.