2

我正在尝试在 Flink 中编写一个用户定义的标量函数,它接受多个表达式(任意数量的表达式)并将其组合成一个表达式。

来自 Spark 世界,我可以通过使用structwhich 返回一个Row类型并将其传递给 a来实现这一点udf,例如

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

我无法在 Flink 中找到等价物。我也想看看我是否可以写一个ScalarFunction接受任意数量的表达式,但找不到任何例子。

任何人都可以帮助指导我采用上述两种方法中的任何一种吗?谢谢!

请注意,我不能将其设为数组,因为每个表达式都可以是不同的类型(实际上,相同的值类型,但可以是数组或标量)。

4

0 回答 0