hive如何使用python脚本

举个栗子

我们要用python脚本实现对hive的用户表解析出他的性别

1、首先在linux端准备数据源

2、在hive准备一个空表

复制代码
create table stu_info(
name string,
idcard string
)
row format delimited fields terminated by '\t';

3、将本地idcard.txt里的内容加载到hive表中

复制代码
load data local inpath '/root/ys/idcard.txt' into table stu_info;

4、在本地编写python脚本: vim stu_info.py

复制代码
#-*-coding:utf-8-*-
import sys
##读取表格的内容
for line in sys.stdin:
    #line就是表格每一行的数据
    line=line.strip().split('\t')
    name=line[0]
    card=line[1]
    if len(card)==18:
        if int(card[-2])%2==1:
            print('\t'.join([name,card,'男']))
        else:
            print('\t'.join([name,card,'女']))
    elif len(card)==15:
        if int(card[-1])%2==1:
            print('\t'.join([name,card,'男']))
        else:
            print('\t'.join([name,card,'女']))
    else:
        print('\t'.join([name,card,'不合法的身份证']))

5、使用数据文件对python脚本进行校验

复制代码
cat idcard.txt|python stu_info.py

6、上传python文件到hive

复制代码
add file /root/ys/stu_info.py;

7、在hive数据引用这个自定义函数,进行表格的查询

复制代码
select transform(name,idcard) using 'python stu_info.py' as (name,idcard,sex) from stu_info;
相关推荐
kkoral10 分钟前
如何在 Python 中使用 OpenCV 调用 FFmpeg 的特定功能?
python·opencv·ffmpeg
樹JUMP12 分钟前
Python虚拟环境(venv)完全指南:隔离项目依赖
jvm·数据库·python
free_7314 分钟前
超越“回答”,AI Agent迎来全链路安全治理挑战
人工智能·python·网络安全
sg_knight15 分钟前
设计模式实战:策略模式(Strategy)
java·开发语言·python·设计模式·重构·架构·策略模式
飞Link23 分钟前
告别 ROS 的臃肿:用 ZeroMQ 构建极速具身智能分布式大脑(附 Python 实战)
开发语言·分布式·python
嫂子的姐夫26 分钟前
039-DES:gov招标(解密)
爬虫·python·js逆向·逆向
jgyzl29 分钟前
2026.3.20 用EasyExcel实现excel报表的导入与导出
java·python·excel
weixin_4331793337 分钟前
python - 正则表达式Regex
python·正则表达式
Riemann~~43 分钟前
ros2写一个可以修改参数的node
开发语言·python·ros2·机器人系统
郝学胜-神的一滴44 分钟前
PyTorch 张量基础:零张量/一张量/指定值张量全解析
人工智能·pytorch·python