ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

关于在hive中使用python做UDF的总结

2020-04-09 16:00:11  阅读:286  来源: 互联网

标签:python py hive add UDF file line


主要是利用hive提供的transform语句。

1.编写python脚本,python脚本数据如下(参考:https://dwgeek.com/hive-udf-using-python-use-python-script-into-hive-example.html/):

import sys
for line in sys.stdin:
    line = line.strip('\n\r')
    fname , lname = line.split('\t')
    firstname = fname.title()
    lastname = lname.title()
    print '\t'.join([firstname, lastname])

 

2.在hive CLI中增加python脚本,脚本可以放到服务器本地目录或者hdfs中,依据py脚本所处的位置使用不同的add file语句。

--在服务器本地目录时
add file initCap.py

--在hdfs时
add file hdfs:///tmp/initCap.py

 

由于我们的hive配置了sentry权限控制,经测试只有hive CLI能够执行add file,用beeline或者其它客户端的时候会报没有权限的问题,具体原因还不知道。

 

3. 在hive sql中使用刚才我们添加的python脚本,示例sql如下:

select transform('abc\tdef') using 'python initCap.py' as (col_name,khjd);

 

 

以上。

标签:python,py,hive,add,UDF,file,line
来源: https://www.cnblogs.com/vanwoos/p/12667515.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有