Spark - передать значение столбца в udf, а затем получить другое значение столбца внутри udf - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь создать функцию udf, которая принимает значение столбца, при условии, что это значение столбца, я должен вставить в этот столбец другое значение столбца. мой код выглядит так:

val udfMobileDeviceId = udf { (os_type: String) => 
    if (os_type == "android")  $"androidIdfa" else  $"appleIdfv"
}

1 Ответ

0 голосов
/ 01 сентября 2018

либо вы передаете эти столбцы в udf:

val udfMobileDeviceId = udf { (os_type: String, androidIfa:String, appleIdfv:String) => 
    if (os_type == "android")  androidIdfa else  appleIdfv
}

или даже лучше: не используйте UDF для этого, просто сделайте это в API DataFrame :

df
.withColumn("mobileDeviceId", when($"os_type"==="andoid",$"androidIdfa").otherwise($"appleIdfv"))
...