简述Hive的函数:UDF、UDAF、UDTF的区别? ?
Hive中有三种UDF:UDF、UDAF和UDTF,它们在功能和使用场景上存在明显的区别。
- UDF(User Defined Function):用户定义函数。UDF操作作用于单个数据行,并产生一个数据行作为输出。大多数函数都属于这一类,比如数学函数和字符串函数。
- UDAF(User Defined Aggregate Function):用户定义聚集函数。UDAF接受多个输入数据行,并产生一个输出数据行。像COUNT和MAX这样的函数就是聚集函数,用于n:1操作,如求和、求平均数、最大/最小值等。
- UDTF(User Defined Table Generating Function):用户定义表生成函数。UDTF操作作用于单个数据行,并产生多个数据行,一个表作为输出。