1、定义UDF
import java.util.Random
def randomPrefixUDF(value: String): String = {
new Random().nextInt(10).toString() + "_" + value.toInt
}
def removePrefixUDF(value: String): String = {
value.split("_")(1)
}
2、注册UDF
spark.udf.register("random_prefix", (value:String) => randomPrefixUDF(value))
spark.udf.register("remove_random_prefix", (value:String) => removePrefixUDF(value))
3、使用示例
select random_prefix(user_id), remove_random_prefix(random_prefix(user_id))
from tb_user
limit 10