处理 hive udf 中的多行
Posted
技术标签:
【中文标题】处理 hive udf 中的多行【英文标题】:Processing multiple rows in an hive udf 【发布时间】:2017-05-08 09:34:14 【问题描述】:如何在 hive-udf 中获取多行?我需要在函数内部有一整列name
,以便可以将它添加到 UDF 内的 ArrayList 中。以下是列名:
Name
jhon
jone
mike
我想获取 UDF 内列中的所有名称。
【问题讨论】:
collect_set() 和 collect_list() 返回数组 【参考方案1】:看起来您正在寻找聚合函数。
首先,检查是否有任何现有的聚合函数可以满足您的需求 - Built-in Aggregate Functions。
如果没有,您必须创建自定义 UDAF,这需要您:
编写自己的求值器和解析器(参见本教程 - Custom UDAF), 编译它们, 将二进制文件添加到 hive 类路径, 使用CREATE FUNCTION
(Create Function) 在hive 中注册函数。
【讨论】:
以上是关于处理 hive udf 中的多行的主要内容,如果未能解决你的问题,请参考以下文章