Failed to execute user defined function(anonfun$concatStr$1: (map<string,string>, string) => string)

晴々明雅發表於2020-10-07

自定義spark UDF函式如下:

  def concatStr: UserDefinedFunction = udf((list: Map[String, String], key: String) => {

    val param = list.getOrElse(key, "")
    key.concat(param)
  })

今天出現報錯資訊:
org.apache.spark.SparkException: Failed to execute user defined function(anonfun$concatStr$1: (map<string,string>, string) => string)

原因:不是函式的問題,而是呼叫函式時,傳入的第二個引數不是數值,而是 null
解決:修改第二個引數的賦值邏輯即可!

相關文章