我创建了一个UDF函数,它接受两个文本参数并返回 数组列表。 但是当我在Hive中调用UDF函数时,它会给我一个错误。
以下是我的UDF代码片段:
final
以下是我在Hive中的表现:
for i in d:
i[0] = datetime.strptime(i[0], '%Y:%m:%d:%H:%M:%S')
print d[0]
数据是一个巨大的字符串值,我解析并应用逻辑并返回三个值作为ArrayList的格式。
我提到了这个链接Returning & Using Multiple Values from a HIVE UDF,但它对我没用。
有人可以帮忙吗?
谢谢!
答案 0 :(得分:2)
将ArrayList<String>
更改为ArrayList<Text>
,因为Hive需要可序列化的类型,例如FloatWritable
,IntWritable
或Text
。
有关详细信息,我建议Returning & Using Multiple Values from a HIVE UDF,易于阅读并解释如何操作。