在HIVE UDF中返回ArrayList <string>

时间:2017-08-01 20:37:20

标签: java hadoop hive user-defined-functions

我创建了一个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,但它对我没用。

有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

ArrayList<String>更改为ArrayList<Text>,因为Hive需要可序列化的类型,例如FloatWritableIntWritableText。 有关详细信息,我建议Returning & Using Multiple Values from a HIVE UDF,易于阅读并解释如何操作。