首页 > 其他 > 详细

自定义udf添加一列

时间:2018-11-08 15:57:55      阅读:150      评论:0      收藏:0      [点我收藏+]
//创建得分窗口字典
    var dict= new mutable.HashMap[Double, Int]()
    for (i <- 0 to result_Score.length-1 ){
      dict.put(result_Score(i),i+1)
    }

    //自定义Udf函数 添加一列
    sparkHiveSession.udf.register("getWindow", (ss11: Double) => {
      val winno:Int = dict(ss11)
      winno
    })

    map (k -> v)

    map类型传进来一个k,获取v  如果这个k本身的值,与一个表中的值相等,就可以获得这个map的v

表

ss

33
44
55
66

map

33->1
44->2
55->3
77->4
                                               k本身的值
sparkHiveSession.udf.register("getWindow", (ss11: Double) => {
      val winno:Int = dict(ss11)
      winno   返回v的值
    })

select getWindow(ss)from 表

show:
1
2
3
4

 

自定义udf添加一列

原文:https://www.cnblogs.com/Bread-Wang/p/9929065.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!