懵逼,同事前几天问我一个udf 问题 ,还是 Python 格式的

 

以前所有的Hive 函数都是 Java  或是 Scala 语言写的 ,Python 没有弄个 ,看到Python 格式的 code  懵逼了 ,非常懵逼

 

今天在看 Python 正则表达式偶遇 Python udf 的一个 case  ,不过 Python 484  not support  udaf or udtf  ??  I have know idea now .fuck

 

Here is the case   :

there is one   table named  mytable  and one column named your_name  (last_name first_name )

and we want to split this column into two from one 

Init:

mytable :

your_name

huchihaihe   fuck   

 

Finally :

mytable :

your_lastname   your_firstname

huchihaihe          fuck   

#!/usr/bin/python3

import sys

for line in sys.stdin:
    line=line.strip()
    lname ,fname=line.split(' ') # space 
    l_name=lname.lower()
    print('\t'.join([str(l_name),fname]))

#this it

the code represented the udf function  to split a data into 2

Oky I admitted I fucked for the above print function  why  you need this  ,sorry  I  do not know  ,but it needed 

Okay  let's skip the question  and see what we can do using the script

 

select your_name ,transform(your_name) using 'the above script path and name.py' as (l_name,fname) from mytable

 

Here we will get the result we wantted  funny  heng

I totally fucked

 

posted @ 2018-10-31 18:06  yuerspring  阅读(308)  评论(0编辑  收藏  举报