hive中如何调用python函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive中如何调用python函数相关的知识,希望对你有一定的参考价值。

目前调用java函数已经实现,想调用python编写的函数,python编写相对容易

参考技术A ADD FILE /home/taobao/dw_hive/hivelets/smoking/ext/tsa/hivesql/bjx_topic_t1/splitsysin.py.bak;
create table if not exists splittest_t1
(
topic_id string,
topic_title string,
topic_desc string,
biz_date string,
gmt_create string
) PARTITIONED BY(pt string)
row format delimited fields terminated by '\001'
lines terminated by '\n'
STORED AS textfile;

select TRANSFORM(topic_id,topic_title,topic_desc,biz_date,gmt_create)
USING 'splitsysin.py'
as topic_id,topic_title,topic_desc,biz_date,gmt_create
from r_bjx_dim_topic_t1;

对比hive和mysql 复杂逻辑流处理

 

1.Mysql中可用存储过程和函数来实现复杂逻辑处理,两者的对比如下:
存储过程作为可执行文件,编译一次放在数据库中,函数又返回值。可设定使用权限。

存储过程中可使用游标,声明变量。用call调用。

 

2.Hive可用udf(user defined function)来实现复杂逻辑处理

  • 编辑Python脚本

常用的Python字符串分割处理函数有:split 等等

 

  • 加载udf

 

  • 调用udf

HQL语法

可将返回结果重新写入其他表内,此时 as后字段和插入表字段一致

 

 

以上是关于hive中如何调用python函数的主要内容,如果未能解决你的问题,请参考以下文章

使用Python编写Hive UDF

Hive脚本、Hive API、Hive 自定义函数

如何在shader中使用自定义函数

python类中如何自动调用函数?

Hive开发自定义函数UDF

如何调用自己写的python函数