Spark注册UDF函数,用于DataFrame DSL or SQL

网址:https://www.cnblogs.com/wwxbi/p/6798384.html

import  org.apache.spark.sql.SparkSession
import  org.apache.spark.sql.functions. _
 
object  Test 2  {
   def  main(args :  Array[String]) :  Unit  =  {
     val  spark  =  SparkSession
       .builder()
       .appName( "Spark SQL basic example" )
       .config( "spark.some.config.option" "some-value" )
       .getOrCreate()
 
     // For implicit conversions like converting RDDs to DataFrames
     import  spark.implicits. _
 
     val  df  =  Seq(( "id1" 1 100 ), ( "id2" 4 300 ), ( "id3" 5 800 )).toDF( "id" "value" "cnt" )
     df.printSchema()
 
     // 注册自定义UDF函数
     spark.udf.register( "simpleUDF" , (v :  Int, w :  Int)  = > v * v + w * w)
 
     df.select($ "id" , callUDF( "simpleUDF" , $ "value" , $ "cnt" )).toDF( "id" "value" ).show
 
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值