博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python hive udf开发
阅读量:6671 次
发布时间:2019-06-25

本文共 1359 字,大约阅读时间需要 4 分钟。

hot3.png

编写python的代码

python文件名:getOperators.py,代码如下:

#!/usr/bin/env python# -*- coding:UTF-8 -*-import sysimport re'''python 获取手机运营商'''if __name__ == '__main__':    isChinaMobile = "^134[0-8]\\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|1703|1705|1706|18[2-478])\\d{7,8}$"; # 移动    isChinaUniom = "^(?:13[0-2]|145|15[56]|176|1704|1707|1708|1709|171|18[56])\\d{7,8}|$"; # 联通    isChinaTelcom = "^(?:133|153|1700|1701|1702|177|173|18[019])\\d{7,8}$"; # 电信    regexMobile = re.compile(isChinaMobile, flags=0)    regexUniom = re.compile(isChinaUniom, flags=0)    regexTelcom = re.compile(isChinaTelcom, flags=0)    for line in sys.stdin:        tel = line.strip()        if regexMobile.match(tel):            print "中国移动"        elif regexUniom.match(tel):            print "中国联通"        elif regexTelcom.match(tel):            print "中国电信"        else:            print "未知"

把python文件上传到hdfs中

格式 hdfs dfs -put 本地路径 hdfs路径

hdfs dfs -put /data/scripts/python_udf/getOperators.py /user/webuser/hive_udf/python

把python文件添加到hive系统中

在hive命令行运行下面命令。 注意:m102 是namenode的主机名,这儿需改成你自己的。

add file hdfs://m102/user/webuser/hive_udf/python/getOperators.py;

HQL语句中查询使用

使用格式: transform(字段名) using "python文件名"

select  transform(telephone)  using  "getOperators.py"  as  (yys)from  m_uc_account

注意

一个session断开后,下一次新的session需要重新把python文件添加hive系统中。

转载于:https://my.oschina.net/u/1396185/blog/1613310

你可能感兴趣的文章
【Python】python更新数据库脚本两种方法
查看>>
linux进程同步机制_转
查看>>
PHP框架认识初步
查看>>
给 Android 初学者的 Gradle 知识普及
查看>>
分模块开发创建Action子模块——(九)
查看>>
基于Nginx实现一个自己的HTTP模块
查看>>
LeetCode(34)-Palindrome Number
查看>>
阅读《Android 从入门到精通》(24)——切换图片
查看>>
SimpleDateFormat线程不安全及解决的方法
查看>>
Unity---------Mesh理解
查看>>
hdu 1728 逃离迷宫 bfs记转向
查看>>
一分钟学会 ConstraintLayout 之从属性角度理解布局
查看>>
线程 Timer TimerTask 计时器 定时任务 MD
查看>>
[js高手之路]原型式继承与寄生式继承
查看>>
MBR分区操作-增加、扩展、删除
查看>>
php如何互换一个数组的首尾元素 中间不变 首尾互换
查看>>
C#最简单的登录Web服务
查看>>
[Entity Framework]
查看>>
【类】C#计算器类(SamWang)
查看>>
Kinect 开发小记:穿越艾泽拉斯,调戏红龙女王
查看>>