码迷,mamicode.com
首页 > 其他好文 > 详细

自定义udf添加一列

时间:2018-11-08 16:30:55      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:shm   mutable   for   reg   hive   put   pre   自定义   sele   

//创建得分窗口字典
    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添加一列

标签:shm   mutable   for   reg   hive   put   pre   自定义   sele   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!