3

I am trying to write a user-defined scalar function in Flink which takes in multiple expressions (arbitrary number of expressions) and combine that into a single expression.

Coming from Spark world, I could achieve this by using struct which returns a Row type and pass it to a udf, like

val structCol = SparkSql.functions.struct(cols: _*)
vecUdf(structCol)

I am not able to find an equivalent in Flink. I am also trying to see if I can write a ScalarFunction that takes in the arbitrary number of expressions, but not able to find any examples.

Can anyone help guide me to either of the above two approaches? Thanks!

Note, I can't make it an Array since each expression can be of different type (actually, same value type but could be arrays or scalars).

himanshuIIITian
  • 5,985
  • 6
  • 50
  • 70

0 Answers0