Получение исключения Null Pointer в искровой UDF - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть код, как показано ниже. Я использую spark UDF для добавления нового столбца с именем «IssueDate» в существующий фрейм данных, но получаю исключение нулевого указателя. Таким образом, любой совет / предложение по этому вопросу, чтобы избавиться от этой проблемы.

    class IssueDateDateHandler(var masterDF) extends Serializable {
      val getIssueDate:(String)=> Option[String] = {(Id) =>
        Option(Id) match {
          case Some(Id) => {
            val matchingIdDF = masterDF.where(col("Id") === Id)
            val issueDt = matchingIdDF.select("IssueDate").head().mkString
            Option(issueDt)
          }
          case _ => Some("")
        }
      }

      val issueDate = udf[Option[String], String](getIssueDate)

      def addIssueDate(transformedDFs: MutableList[DataFrame]): MutableList[DataFrame] = {
          for (tmpDF <- transformedDFs) {
               val df = tmpDF.withColumn("IssueDate", issueDate(col("Id")))
          }
      }
    }
...