hive(3)——在hive中使用自己写的函数(python实现)

如果我们想在hive中添加自己写的函数,可用如下方法:
前提:已经开启hdfs,yarn服务,并且关闭safe模式,打开mysql
ps:udf是mapper类型的,进来一个数据,出去一个数据
(1)用python写好想要实现的函数
这里我的测试表是这样一份表,我想让此表的state字段都变成大写,所以我编辑了如下python脚本:
在这里插入图片描述
在这里插入图片描述
编辑的脚本py_udf(udf前面已经解释)如下:
在这里插入图片描述

import sys
for line in sys.stdin:
        line = line.strip()
        team,state,rank = line.split()
        state = state.upper()
        print( ' '.join([team,state,str(rank)]))

(2)加入路径(至关重要的一步)
这份文件在本地路径下
在这里插入图片描述
(3)实现语句TRANSFORM
在这里插入图片描述
可见,california和colorado已经大写,成功输出,这里要使用TRANSFORM 前面的‘()’的参数是你表中的字段,也就是desc查出来的字段,而后面的‘()’的参数是你pyhon脚本里输出的参数。
可以在yarn可视化界面查看该任务:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

graceful coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值