Hive进阶之UDF开发(Python版)

以下演示如何使用Python编写Hive UDF。

编写UDF

这个DEMO是将第列的值转换成字符串,然后再加上前缀和后缀@

import sys

for line in sys.stdin:
    data = []
    for col in line.strip().split('\t'):
        data.add('@%s@' % str(e))
    # '\t'.join([('@%s@' % str(e)) for e in line.strip().split('\t')])
    print '\t'.join(data)

注意:输入是\t分隔的字符串,输出也是\t分隔的字符串。

引用

add file './test_a_udf.py';

select
    transform(col1, col1, col1) using 'python ./test_a_udf.py' as (x1, x2, x3)
from (
    select 'Sunny' as col1
    union all
    select 'Colin' as col1
    union all
    select 'David' as col1
) as a;

输出结果

@Sunny@  @Sunny@  @Sunny@
@Colin@  @Colin@  @Colin@
@David@  @David@  @David@

注意:

这里的col1, x1, x2, x3是一个个的列名。

你可能感兴趣的:(Hive,Python)