0
点赞
收藏
分享

微信扫一扫

Spark 利用udf只对DataFrame其中几列操作,而不对所有列map


定义UDF

import org.apache.spark.sql.functions.udf

def theUDF = udf((inputColumn1: String, inputColumn2: BigInt)=>{
var resultColumn = 0
inputColumn1.split(",").foreach(item=>{
if(java.lang.Long.valueOf(item).equals(inputColumn2)) {
resultColumn = 1
}
})
resultColumn
})

调用

dataFrame.withColumn("result_column", 
theUDF(col("input_column1"), col("input_column2"))
)


举报

相关推荐

0 条评论