spark里面如何注册udf函数
例子如下:
/注册udf函数
ss.udf.register("myarray_contains", (参数列表) => {
方法体
})
实例如下:
/注册udf函数
ss.udf.register("myarray_contains", (Bu: String, Tags:String, TagName:String, SrcStr: String) => { var Flag = false if(Bu.equals("cpi")){
val cpi = Map("campaignsetid"-> 0, "campaignid" -> 1, "adid" -> 2, "offerid" -> 3)
try{ val FieldArr = Tags.split("_") val Index = cpi.get(TagName).get
val TargetId = FieldArr(Index) //拆分TargetStr val SrcArr = SrcStr.split(",")
SrcArr.foreach(itm => { if(itm.equals(TargetId)){ Flag = true } })
}catch{
case e: Exception => {
e.printStackTrace() Flag = false
} } }else{
//其他项目暂时还没有结构,统一返回false Flag = false
} Flag
})