Scala 如何将二维数组传递给用户定义的函数?

Scala 如何将二维数组传递给用户定义的函数?,scala,dataframe,user-defined-functions,udf,Scala,Dataframe,User Defined Functions,Udf,使用UDF意味着每个系数c1,c2,c3必须由参数独立传递。是否有灵活的解决方案,例如如何将这些因素的序列传递给UDF val myFunction = udf { (userBias: Float, productBias: Float, productBiases: Map[Long, Float], userFactors: Seq[Float], productFactors: Seq[Float], c1: String, c2: String, c3: S

使用UDF意味着每个系数
c1
c2
c3
必须由参数独立传递。是否有灵活的解决方案,例如如何将这些因素的序列传递给UDF

val myFunction = udf {
      (userBias: Float, productBias: Float, productBiases: Map[Long, Float],
        userFactors: Seq[Float], productFactors: Seq[Float], c1: String, c2: String, c3: String) =>

        var result = Float.NaN

        // result calculation

        result
    }
然后我用以下方式调用这个函数(
dataset
是一个
DataFrame
):

如果我这样做,编译器会说“不适用”:


如果您有这样的二维阵列:

val xy = Array.ofDim[Int](numrows, numcolumns);
isFunction(xy);
def isFunction(arg: Array[Array[Int]]){
    println(arg(i)(0)); // how to access array element
isFunction的函数定义如下所示:

val xy = Array.ofDim[Int](numrows, numcolumns);
isFunction(xy);
def isFunction(arg: Array[Array[Int]]){
    println(arg(i)(0)); // how to access array element

如果您有这样的二维阵列:

val xy = Array.ofDim[Int](numrows, numcolumns);
isFunction(xy);
def isFunction(arg: Array[Array[Int]]){
    println(arg(i)(0)); // how to access array element
isFunction的函数定义如下所示:

val xy = Array.ofDim[Int](numrows, numcolumns);
isFunction(xy);
def isFunction(arg: Array[Array[Int]]){
    println(arg(i)(0)); // how to access array element

为什么问题被否决?为什么问题被否决?