如何将非dataframe参数传递给spark中的udf

时间:2016-09-28 17:59:22

标签: apache-spark

请知道如何将非数据帧值作为参数传递给udf。

val df2 = df1.withColumn("newcol", udffunc(df1("col1"), x)).

我定义的udf函数如下。

udffunc = udf(method _)

方法i定义如下。

def method(inputvar1: String, inputvar2: String): Option[Long] = {
  ...
  ...
  return Longvariable
}

1 个答案:

答案 0 :(得分:1)

我可以通过编写以下UDF代码来解决问题。

def udffunc = udf((y:String) => {
    val format:String = "x"
    method(y, "x")
  })

因此,我可以将.withColumn中的一个参数(dataframe列)传递给UDF函数udffunc,然后能够传递外部参数,即" x"在上面的示例中,函数名为"方法"。