简述Hive的函数:UDF、UDAF、UDTF的区别? ?

Hive中有三种UDF:UDF、UDAF和UDTF,它们在功能和使用场景上存在明显的区别。

  1. UDF(User Defined Function):用户定义函数。UDF操作作用于单个数据行,并产生一个数据行作为输出。大多数函数都属于这一类,比如数学函数和字符串函数。
  2. UDAF(User Defined Aggregate Function):用户定义聚集函数。UDAF接受多个输入数据行,并产生一个输出数据行。像COUNT和MAX这样的函数就是聚集函数,用于n:1操作,如求和、求平均数、最大/最小值等。
  3. UDTF(User Defined Table Generating Function):用户定义表生成函数。UDTF操作作用于单个数据行,并产生多个数据行,一个表作为输出。

发表评论

后才能评论