我使用python在hive中执行UDF。是否有一些方法从UDF输出数组/映射这样的结构化数据? 我试图在UDF中返回一个python列表,但它无法转换为hive数组。
答案 0 :(得分:0)
当您尝试在UDF中返回python列表时,我建议您拆分列表并逐步处理每个数据。 这是一个例子。使用' TRANSFORM'明智地在蜂巢中。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# demo.py
import sys
import datetime
import time
#Turn the timestamp into string
def timestamp_toString(stamp):
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(stamp))
for line in sys.stdin:
print timestamp_toString(float(line))
hive> add file /ebs/hive/test/demo.py;
select TRANSFORM(time) using 'python demo.py' as (time) from (select * from access_fccs where week=41 limit 10) a ;