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;
相关推荐
The_Ticker20 分钟前
印度股票实时行情API(低成本方案)
python·websocket·算法·金融·区块链
ZC跨境爬虫26 分钟前
Scrapy工作空间搭建与目录结构解析:从初始化到基础配置全流程
前端·爬虫·python·scrapy·自动化
EAIReport30 分钟前
国外网站数据批量采集技术实现路径
开发语言·python
Ulyanov34 分钟前
基于ttk的现代化Python音视频播放器:UI设计与可视化技术深度解析
python·ui·音视频
Freak嵌入式42 分钟前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
zhangzeyuaaa1 小时前
Python 中的 Map 和 Reduce 详解
开发语言·python
七夜zippoe2 小时前
Java技术未来展望:GraalVM、Quarkus、Helidon等新趋势探讨
java·开发语言·python·quarkus·graaivm·helidon
m0_738120722 小时前
网络安全编程——Python编写基于UDP的主机发现工具(解码IP header)
python·网络协议·tcp/ip·安全·web安全·udp
北冥有羽Victoria2 小时前
OpenCLI 操作网页 从0到1完整实操指南
vscode·爬虫·python·github·api·ai编程·opencli
handsomestWei2 小时前
scikit-learn数据预处理模块
python·机器学习·scikit-learn