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;
相关推荐
Gain_chance30 分钟前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
肖永威1 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
TechWJ1 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
枷锁—sha1 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Gain_chance1 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
abluckyboy1 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
喵手2 小时前
Python爬虫实战:构建各地统计局数据发布板块的自动化索引爬虫(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集数据csv导出·采集各地统计局数据发布数据·统计局数据采集
天天爱吃肉82182 小时前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车
m0_715575343 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
甄心爱学习3 小时前
【leetcode】判断平衡二叉树
python·算法·leetcode