Я поместил инструкции log.info внутри своей UDF, но в кластере происходит сбой.Местные работают нормально.Вот фрагмент кода:
def relType = udf((colValue: String, relTypeV: String) => {
var relValue = "NA"
val relType = relTypeV.split(",").toList
val relTypeMap = relType.map { col =>
val split = col.split(":")
(split(0), split(1))
}.toMap
// val keySet = relTypeMap
relTypeMap.foreach { x =>
if ((x._1 != null || colValue != null || x._1.trim() != "" || colValue.trim() != "") && colValue.equalsIgnoreCase(x._1)) {
relValue = relTypeMap.getOrElse(x._1, "NA")
log.info("testing.........")
}
}
relValue
})
Кроме того, когда я вызываю любую функцию внутри UDF и использую операторы журнала, журналы не печатаются в кластере, и это тоже отлично работает.